Javascript 使用jQuery提交后清除表单

Javascript 使用jQuery提交后清除表单,javascript,forms,jquery,Javascript,Forms,Jquery,刷新后清除此表单的最简单方法是什么。我尝试过的方法将清除表单,但不会提交到数据库。其他人能给我解释一下最好的方法吗 <html> <head> <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script> <script type="text/javascript" src="http://ajax.aspne

刷新后清除此表单的最简单方法是什么。我尝试过的方法将清除表单,但不会提交到数据库。其他人能给我解释一下最好的方法吗

<html>
<head>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
    <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"></script>
    <script type="text/javascript">
    jQuery(document).ready(function($){
        $("#newsletterform").validate({
            debug: false,
            rules: {
                name: "required",
                email: {
                    required: true,
                    email: true
                }
            },
            messages: {
                name: "Please let us know who you are.",
                email: "A valid email will help us get in touch with you.",
            },
            submitHandler: function(form) {
                // do other stuff for a valid form
                $.post('newsletter.php', $("#newsletterform").serialize(), function(data) {
                    $('#results').html(data);
                });

            }

        });
    });

    </script>

</head>

<div id="content">
    <div id="newsletter-signup">
        <h1>Sign up for News, Updates, and Offers!</h1>
        <form id="newsletterform" action="" method="post">

            <fieldset>

                <ul>
                    <li>
                        <label for="name">Name:</label>
                        <input type="text" name="name" />
                    </li>
                    <li>
                        <label for="email">Email:</label>
                        <input type="text" name="email" />  
                    </li>
                        <div id="results"><div>
                    <li>
                        <input type="submit" value="submit" name="signup" onclick="" />         
                    </li>
                </ul>

            </fieldset>

        </form>         
    </div>
</div>
</html>

jQuery(文档).ready(函数($){
$(“#通讯表单”)。验证({
调试:错误,
规则:{
名称:“必需”,
电邮:{
要求:正确,
电子邮件:真的
}
},
信息:{
姓名:“请让我们知道你是谁。”,
电子邮件:“有效的电子邮件将帮助我们与您取得联系。”,
},
submitHandler:函数(表单){
//为有效的表单做其他事情
$.post('newsletter.php',$(“#newsletter form”).serialize(),函数(数据){
$('#results').html(数据);
});
}
});
});
注册以获取新闻、更新和优惠!
  • 姓名:
  • 电邮:

在post方法回调函数中尝试此操作

$(':input','#myform')
 .not(':button, :submit, :reset, :hidden')
 .val('')
 .removeAttr('checked')
 .removeAttr('selected');

有关更多信息,请阅读

,您可以将其添加到
$的回调中。post

$( '#newsletterform' ).each(function(){
    this.reset();
});

不能只调用
$(“#newsletterform”).reset()
,因为
.reset()
是一个表单对象,而不是jquery对象,或者类似的东西。你可以在这页的一半阅读更多关于它的内容。

很可能这会对你有帮助

 $('input').val('').removeAttr('checked').removeAttr('selected');

您可以使用以下命令重置表单:

$("#myform")[0].reset();

只需将其添加到某个div或td中的操作文件中,以便它与传入的XML对象一起提供

    <script type="text/javascript">
    $("#formname").resetForm();
    </script>

$(“#formname”).resetForm();

其中“formname”是您要编辑的表单id

使用jQuery重置表单的更好方法是在表单上触发
重置
事件

$("#btn1").click(function () {
        $("form").trigger("reset");
    });

使用jQuery重置函数可以快速重置表单字段。
$(选择器)[0]。重置()

谢谢你,这很有效。我的错误是我没有意识到我把它放错了地方。感谢您实际解释您的答案。在执行此操作之前,请查看下一个答案。@IMLiviu下面的答案与此问题的需要不符。这是一个多阶段的形式。另外,read more链接说不要使用该代码,而是回答中提供的第二段代码。此处[0]的用途是什么?使用[0]将返回本机html元素而不是DOM。请提供一些详细信息来解释您在此处所做的工作。