2016-09-16 45 views
0

文本框不應該允許其中的空格。我寫了一個正在工作的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

當它按下單個空間不允許...當我們按下空格按鈕不斷按下(保持我們的手指一段時間)它接受空間..當刪除它只是刪除最後一個空間。剩餘空間存在於文本框中。 –

回答

0

我重新設計的腳本,有它取代所有的空格一次當控件失去焦點。打一個「空格將被刪除」的文本框旁邊的大膽標籤,你是金。

這樣,不管輸入是怎麼做的(用戶輸入?他們是否複製粘貼?他們保持按鈕按下嗎?他們使用屏幕上的鍵盤嗎?他們是否......)。

AFAIK兩個事件附加到此onfocusout(當控件將失去焦點,但尚未)和onblur(當控件失去焦點時)。你當然可以處理兩者。

在一個字符串更換所有的空間很容易:

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

我可以爲一個文本框寫兩個事件例如:onblur和lastfocus?如果是的話,我怎樣才能從文本中間刪除空格,並且每次都用腳本左右移動。 –

+0

修改爲包含有關實施的細節。一定要標記爲可接受的,以幫助未來的讀者識別解決方案。 – Alex

0

你不需要做那麼多的代碼,以防止這種類型的場景......在這個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(); 
    } 
} 
相關問題