2016-12-16 20 views
-1

我的表單上有一個文本框。我希望用戶無法按下鍵盤上的空間。我使用下面的代碼來禁用間距。我不明白爲什麼它不起作用。禁用JavaScript中輸入的空格按鈕

<!DOCTYPE html> 
<html> 
<head> 
<title>Counter File</title> 

<script> 
function noSpaces() 
{ 
    $("input").on("keydown", function (e) 
    { 
     return e.which !== 32; 
    }); 
} 
</script> 

</head> 

<body> 

    ID Number: <input type="text" name="IDNumb" id="IDNumb" onkeydown="noSpaces()"> 

</body> 

</html> 
+1

是否包含jQuery的?如果你這樣做,看起來工作得很好。 – j08691

+0

我不確定,我會在哪裏添加JQuery? – taji01

+0

'onkeydown'事件訂閱'noSpaces'函數,然後使用jquery爲keydown輸入重新定義。選擇一個或另一個,但不要多次訂閱,因爲現在每次事件呼叫都添加一個新訂閱。 – Igor

回答

3
<!DOCTYPE html> 
<html> 
<head> 
<title>Counter File</title> 

</head> 

<body> 
    ID Number: <input type="text" name="IDNumb" id="IDNumb"> 
</body> 

<script src="https://code.jquery.com/jquery-3.1.1.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script> 
<script> 
    $("input").on("keydown", function (e) 
    { 
     return e.which !== 32; 
    }); 
</script> 
</html> 
  • onKeyDown事件簽約了noSpaces函數,然後使用jquery用於KEYDOWN輸入重新subcribes。選擇一個或另一個,但不要多次訂閱,因爲現在每次事件呼叫都添加一個新訂閱。
  • 新增CDN參考jQuery的
+0

謝謝你的回答。有沒有辦法使用ID禁用特定輸入的間距? – taji01

+0

@ taji01 - 您可以使用[css selectors](http://www.w3schools.com/cssref/css_selectors.asp)。上面的例子:'$(「#IDNumb」)。on(... etc' – Igor

+0

謝謝,謝謝:) – taji01

1
$(document).ready(function(){ 
    $("input").on("keydown", function (e) 
     { 
      return e.which !== 32; 
     }); 
}) 

我想這個代碼是夠你,你不需要定義的onkeydown = 「noSpaces()」 和noSpaces功能

0

您還沒有jQuery庫。你首先必須包括,然後這將工作。

$("input").on("keydown", function (e) { 
    return e.which !== 32; 
}); 
1

我更會用keyup,並會解決這個問題是這樣的:

<!DOCTYPE html> 
<html> 
<head> 
    <title>Counter File</title> 
</head> 

<body> 
    ID Number: <input type="text" name="IDNumb" id="IDNumb"> 
</body> 

<script src="https://code.jquery.com/jquery-3.1.1.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script> 
<script> 
    $("input").on("keyup", function (e) 
    { 
     $(this).val($.trim($(this).val())); 
    }); 
</script>