在表單輸入字段中,我想顯示滾動選項之類的數字,但是我想禁用一些數字,我從數據庫中獲取數字。不允許在jQuery的表單輸入字段中輸入一些數字
例如,如果我的數據庫查詢返回3,5和7,則用戶不應該能夠在表單輸入字段中輸入這些數字。
<form>
<input name="sid" type="number">
</form>
在表單輸入字段中,我想顯示滾動選項之類的數字,但是我想禁用一些數字,我從數據庫中獲取數字。不允許在jQuery的表單輸入字段中輸入一些數字
例如,如果我的數據庫查詢返回3,5和7,則用戶不應該能夠在表單輸入字段中輸入這些數字。
<form>
<input name="sid" type="number">
</form>
你可以做這樣的事情:
$(function(){
var preventNumbers = [3,4,5] //array of numbers
$('input[name="sid"]').keydown(function(e){
if(preventNumbers.indexOf(parseInt(String.fromCharCode(e.which))) > -1){
return false;
}
});
})
在這裏,我已經創建您希望防止鍵入輸入的數組數組,並且使用keydown函數可以防止它發生。
如果你想防止箭頭事件還那麼你必須抓住mouseup
事件,如:
$(function(){
var preventNumbers = [3,4,5]
$('input[name="sid"]').keydown(function(e){
if(preventNumbers.indexOf(parseInt(String.fromCharCode(e.which))) > -1) {
return false;
}
}).mouseup(function(){
var val = $(this).val();
if(preventNumbers.indexOf(parseInt(val)) > -1) {
$(this).val('');
}
})
})
如果你正在使用jQuery,您可以綁定到keyup事件,並檢查被按下的鍵,然後返回false,如果它是一個你不希望用戶選擇:
$("input").keypress(function(e) {
if (event.which == 13) {
event.preventDefault();
}
});
謝謝您的回答兄弟,但還是我能夠輸入3,4和5在輸入欄中使用向上和向下按鈕 –
那麼你想防止這種情況嗎? – Manwal
是的兄弟用戶應該以任何方式輸入這些數字 –