jQuery 提交后重置表单
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/15424975/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Reset form after submit
提问by Kango
I am new with ajax and jquery. i have used the following code to submit form data it working fine.
我是 ajax 和 jquery 的新手。我使用以下代码提交表单数据,它工作正常。
but i need to reset(clear form field) after submit form with all validation true. where to write a code to clear a form.
但我需要在所有验证为真的情况下提交表单后重置(清除表单字段)。在哪里编写代码来清除表单。
Html Form:
html格式:
<form action="#" name="formdata" id="replyform" method="post">
<div class="pass-form">
<div class="input-row">
<div class="row_label">
Old Password
</div>
<span><input type="text" id="User_pass1" name="User_pass1"/></span>
</div>
<div class="input-row">
<div class="row_label">
New Password:
</div>
<span><input id="User_pass2" name="User_pass2" type="password"/></span>
</div>
<div class="input-row">
<div class="row_label">
Re-Enter New Password:
</div>
<span><input id="User_pass3" name="User_pass3" type="password"/></span>
</div>
<div class="input-row">
<div class="row_label">
</div>
<span> <button name="chpass" onclick="submitform();" class="button" type="button" value="Save">Save</button>
<button name="chpr" type="reset" class="button" value="Reset">Reset</button></span>
</div>
</div>
</form>
Javascript function:
Javascript函数:
function submitform() {
var User_pass1 = document.getElementById("User_pass1").value.match("^\S[0-9a-zA-Z.-]*$");
var User_pass2 = document.getElementById("User_pass2").value.match("^\S[0-9a-zA-Z.-]*$");
var User_pass3 = document.getElementById("User_pass3").value.match("^\S[0-9a-zA-Z.-]*$");
//document.getElementById("User_pass1").value="";
//document.getElementById("User_pass2").value="";
//document.getElementById("User_pass3").value="";
if (User_pass1 == null) {
alert("password field Required.....!");
return;
} else if (User_pass2 == null) {
alert(" New password field Required.....!");
return;
} else if (User_pass3 == null) {
alert("New password conformation field Required.....!");
return;
} else if (String(User_pass2) != String(User_pass3)) {
alert("New password and conformation not match....!");
return;
} else {
var str = "User_pass1=" + User_pass1 + "&User_pass2=" + User_pass2;
$.ajax({
type: "POST",
url: _baseurl + "/setting/",
data: str,
success: function (output)
{alert(output);}
});
return;
}
}
回答by Dipesh Parmar
You need to write in inside success
callback.
您需要在内部success
回调中写入。
success: function (output)
{
alert(output);
$('#replyform').reset();
}
回答by Rohan Kumar
Try this:
尝试这个:
$.ajax({
type: "POST",
url: _baseurl + "/setting/",
data: str,
success: function (output) {
alert(output);
$('#replyform').find("input[type=text], input[type=password]").val("");
}
});
Also if you are using jQuery
than you should use $('#User_pass1').val()
in place of document.getElementById("User_pass1").value
此外,如果您使用的是jQuery
比您应该使用$('#User_pass1').val()
的代替document.getElementById("User_pass1").value