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

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-26 15:01:22  来源:igfitidea点击:

Reset form after submit

javascriptjqueryajax

提问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">
                &nbsp;
            </div>
            <span>&nbsp;<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 successcallback.

您需要在内部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 jQuerythan you should use $('#User_pass1').val()in place of document.getElementById("User_pass1").value

此外,如果您使用的是jQuery比您应该使用$('#User_pass1').val()的代替document.getElementById("User_pass1").value