0

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

4

1 回答 1

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());
       }
});
于 2013-07-25T09:46:29.997 回答