Ajax形式:新的重置状态

时间:2014-12-10 23:27:06

标签: javascript jquery html html5 forms

我有一个通过jquery ajax提交的表单。当通过ajax提交表单时,如何设置新的重置状态

例如,页面加载时默认值为“foo”的表单中有一个输入。用户将值更改为“bar”,点击保存(jquery通过ajax将表单数据发送到服务器)。现在,如果用户进行了其他更改并且用户点击了表单重置按钮,我希望它重置为“bar”而不是“foo”。

想要捕获整个表单的“重置”状态,而不仅仅是特定输入。 有关如何实现这一目标的任何见解?

3 个答案:

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