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