在开发中,我们会用到很多表单,我们希望表单提交以后,能reset,
但是jquery没有这个方法,怎么处理呢?
<form id="form1" action="" method="post" runat="server">
<input name="inp" id="inp" value="1" />
</form>
方法一:
我们可以通过就是实现
id:
document.getElementById("form1").reset();
name:
document.formName.reset();
方法二:
逐一清空:
$("#inp").val("1");
但是表单太多的话,这也是不实际的,有100个,1000个,总不能写100,个1000个吧。
也许你会说,写成这样:
$("input").val("");
那表单的默认值呢?表单还有其他类型,都写一遍?
加type为reset的input
<form id="form1" action="" method="post" runat="server">
<input name="inp" id="inp" value="1" />
<input id="res" name="res" type="reset" style="display:none;" />
</form>
$("input[name='res']").click();
所有表单清空
ok
有时候可能需要实现这样的效果:使用ajax提交表单,成功提交表单之后清空表单,如下代码:
<form>
<input name="name1" /><br/>
<input name="name1" /><br/>
<textarea name="content"></textarea>
<a href="javascript:void(0)" onclick="subform()">提交</a>
</form>
当点击 提交 之后,通过ajax将内容提交。 以前我是通过以下代码来清空表单
$("input").val('');
$("textarea").val('');
前些日子无意想到另外一个方法(如果知道下面的方法的朋友可以就此打住):
//在form表单中添加一个隐藏的reset按钮,
<input type="reset" style="display:none;" />
//然后通过trigger来触发reset按钮
function subform(){
/* ...
*提交表单的代码部分
* ... */
$("input[type=reset]").trigger("click");//触发reset按钮 }