呼叫重置但在FORM之外?

时间:2010-11-13 04:15:11

标签: javascript jquery forms

我有一堆输入,我想调用重置,但有一个表单之外。我试着在输入和textarea上调用reset而没有运气。

我可以使用类似的功能吗?

3 个答案:

答案 0 :(得分:4)

请记住,表单RESET实际上并不会清除所有字段,它会将表单的默认值重置为默认值,因此更好的方法可能如下:

$('#the_form').trigger('reset');

也许是另一种方法:

// capture all existing values

var arr = [];

$(':input').each(function(i, e)
{
    arr.push($(e).val());
});

// custom function to reset all values to initially captured values

function my_reset()
{
    $(':input').each(function(i, e)
    {
        $(e).val(arr[i]);
    });
}

上述方法盲目地针对所有领域,如果你有办法更好地瞄准它们,你绝对应该使用你能做到的。

此外,此方法按顺序存储所有字段,因此如果您有动态生成的字段,则必须修改此解决方案。

答案 1 :(得分:1)

我的方法(第二个将它们放在一个表单中......)将onload,将默认值映射到每个输入id或名称,然后创建一个重置方法,只迭代该集合,按id和设置为默认值...

答案 2 :(得分:1)

您要重置还是仅清除输入? 重置会更复杂,但在您的情况下清算为easy

HTML:

  <input type="text"/>
  <textarea></textarea>
  <button id="resetBtn">Reset</button>

JS:

$("#resetBtn").click(function(){
  $("input, textarea").val("");
});