文本框不应该允许asp.net中的空格使用javascript

问题描述:

文本框不应该允许其中的空格。我写了一个正在工作的java脚本。但是当连续按下空格键时它失败了。 请建议。 代码下面我用下式给出:文本框不应该允许asp.net中的空格使用javascript

<script type="text/javascript" language="javascript"> 
function splitText() 
{ 
var fullNumber = $get('<%= tbFullNumber.TextBoxClientID %>').value;   
$get('<%= tbFullNumber.TextBoxClientID %>').value = fullNumber.replace(' ', ''); 
fullNumber = $get('<%= tbFullNumber.TextBoxClientID %>').value; 
} 

+0

'但是当...' Igor

+0

当它按下单个空间不允许...当我们按下空格按钮不断按下(保持我们的手指一段时间)它接受空间..当删除它只是删除最后一个空间。剩余空间存在于文本框中。 –

我重新设计的脚本,有它取代所有的空格一次当控件失去焦点。打一个“空格将被删除”的文本框旁边的大胆标签,你是金。

这样,不管输入是怎么做的(用户输入?他们是否复制粘贴?他们保持按钮按下吗?他们使用屏幕上的键盘吗?他们是否......)。

AFAIK两个事件附加到此onfocusout(当控件将失去焦点,但尚未)和onblur(当控件失去焦点时)。你当然可以处理两者。

在一个字符串更换所有的空间很容易:

theString = theStringreplace(/\s/ig,''); // ' b l ah ' = 'blah' 
+0

我可以为一个文本框写两个事件例如:onblur和lastfocus?如果是的话,我怎样才能从文本中间删除空格,并且每次都用脚本左右移动。 –

+0

修改为包含有关实施的细节。一定要标记为可接受的,以帮助未来的读者识别解决方案。 – Alex

你不需要做那么多的代码,以防止这种类型的场景......在这个fiddle看看...做些什么这样的..

HTML

<input type="text" onkeypress="handleSpace(event)" /> 

的JavaScript

function handleSpace(event) 
{ 
    //handling ie and other browser keycode 
    var keyPressed= event.which || event.keyCode; 

    //Handling whitespace 
    //keycode of space is 32 
    if(keyPressed==32) 
    { 
    event.preventDefault(); 
    event.stopPropagation(); 
    } 
}