我有一堆输入,我想调用重置,但有一个表单之外。我试着在输入和textarea上调用reset而没有运气。
我可以使用类似的功能吗?
答案 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("");
});