清除前一个值后,保护文本框不要取空白值

时间:2014-06-24 07:26:19

标签: javascript jquery asp.net asp.net-mvc asp.net-mvc-3

我想保护文本框不接受除数字之外的任何值。我使用以下代码实现了

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按钮时,空白值会更新。

如何保护文本框不带空白值?它应该保留以前的有效值。

3 个答案:

答案 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,'');
});

在这里工作http://jsfiddle.net/kz573/1/