我有一个通过jquery ajax提交的表单。当通过ajax提交表单时,如何设置新的重置状态?
例如,页面加载时默认值为“foo”的表单中有一个输入。用户将值更改为“bar”,点击保存(jquery通过ajax将表单数据发送到服务器)。现在,如果用户进行了其他更改并且用户点击了表单重置按钮,我希望它重置为“bar”而不是“foo”。
想要捕获整个表单的“重置”状态,而不仅仅是特定输入。 有关如何实现这一目标的任何见解?
答案 0 :(得分:2)
试试这个:
<form>
<input type="text" name="demoInput" value="foo" />
<button type="reset">Reset</button>
<button type="submit">Submit</button>
</form>
<script>
$('body').on('click', 'button[type=submit]', function () {
// Store the current value as a data attribute
$('input').each(function() {
$(this).data('value',$(this).val());
});
});
$('body').on('click', 'button[type=reset]', function () {
// Restore the store value
$('input').each(function() {
$(this).val($(this).data('value'));
});
});
</script>
答案 1 :(得分:1)
我现在无法尝试,但可以选择设置输入的 defaultValue 属性。
答案 2 :(得分:0)
老问题,但在成功提交后将 defaultValue
设置为 value
将使重置按钮在新状态下工作。
简单的 JQuery 示例:
$("form input").each((ix, t) => { t.defaultValue = t.value; });