我想保护文本框不接受除数字之外的任何值。我使用以下代码实现了
function allowOnlyNumber(evt) {
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
}
问题是:当我输入一个数字到文本框并通过点击链接到它的UPDATE按钮保存时,它保存了预期的。但是第二次当我从该文本框中选择数字并通过键盘上的Delete或Backspace键清除它并点击链接到它的UPDATE按钮时,空白值会更新。
如何保护文本框不带空白值?它应该保留以前的有效值。
答案 0 :(得分:2)
在OnLoad功能
上使用此代码段var preVal = $("#txt").val();
$("#txt").change(function()
{
if($(this).val().trim() == '')
{
$(this).val(preVal);
}
preVal = $("#txt").val();
}
);
工作小提琴是here
答案 1 :(得分:0)
您可以使用$.trim()
jQuery方法来阻止提交空值。
尝试使用:
var elem = $('yourelemId').val(); // get the specific value
if($.trim(elem) === ""){ // use trim to remove any whitespace
alert('Your alert msg here');
e.preventDefault();
}
答案 2 :(得分:0)
这样做。短代码根本不接受数字。
$("#txt").keyup(function() {
this.value = this.value.replace(/[^a-zA-Z\.]/g,'');
});