将无效输入设置为初始值

时间:2013-07-25 09:39:54

标签: jquery

我有一个输入,在更改时通过ajax发送它的值并保存到db。我需要阻止发送不是数字的空值或值,反之亦然。所以我在几个if / else块之后调用ajax函数。这可行,但是可以设置无效的更改输入到之前的值吗?例如,我有一个值为“456321”的输入。用户将其更改为“abcde”。它不是数字,因此不会发送到服务器,但我需要将值更改回“456321”。

1 个答案:

答案 0 :(得分:2)

保留一个隐藏字段,该字段将填充初始值。 假设您在文本框中显示值“4321”。只需将该值加载到文本框和隐藏字段中。现在,在进行AJAX请求时更改此值,因此,如果值正确,则只需使用正确的值更新隐藏字段,否则只需使用隐藏字段中的值替换文本框中的值。希望这会有所帮助...

示例代码:

<input type="text" id="textbox" value="1234"/>
<input type="hidden" id="hidden" value="1234"/>

$('#textbox').change(function(){
    if(parseInt($('#textbox').val()))
       {
           $('#hidden').val($('#textbox').val());
           //Make AJAX request
       }
       else
       {
           $('#textbox').val($('#hidden').val());
       }
});