Javascript 即使未提交也显示感谢信息的表单

Javascript 即使未提交也显示感谢信息的表单,javascript,jquery,ajax,Javascript,Jquery,Ajax,我是Javascript和Jquery的新手。我有一个表格,我想提交和提交时,它会显示一个“谢谢你!”的消息下方的形式。我已经能够将表格提交到我们的数据库中,并显示感谢信息。唯一的问题是,无论字段是否填写,都会显示感谢消息。我已经尝试了Jquery的.show()来显示一个隐藏的div,其中包含一条感谢消息,还有replaceWith()方法。任何帮助都很好。谢谢 以下是脚本: <script type="text/javascript"> $(document).ready(fun

我是Javascript和Jquery的新手。我有一个表格,我想提交和提交时,它会显示一个“谢谢你!”的消息下方的形式。我已经能够将表格提交到我们的数据库中,并显示感谢信息。唯一的问题是,无论字段是否填写,都会显示感谢消息。我已经尝试了Jquery的.show()来显示一个隐藏的div,其中包含一条感谢消息,还有replaceWith()方法。任何帮助都很好。谢谢

以下是脚本:

<script type="text/javascript">
$(document).ready(function() {
    $("#My-Form").submit(function(event) {
        event.preventDefault();
        submitform();
    })

    $("#My-Form").validate({
        rules: {
            firstname: {
                required: true
            },
            lastname: {
                required: true
            },
            phone: {
                required: true
            },
            email: {
                required: true,
                email: true
            },
            address: {
                required: true
            },
            city: {
                required: true
            },
            state: {
                required: true
            },
            zip: {
                required: true,
                number: true
            }
        },
    });
});

function submitform() {
    $.post('URL', $("#My-Form").serialize(), returnResults, 'json');
    $("#MyForm").replaceWith("<p><h2>Thank You!</h2></p>");
}

function returnResults() {
    //SHOW THANK YOU MESSAGE
}
</script>

$(文档).ready(函数(){
$(“#我的表格”)。提交(功能(事件){
event.preventDefault();
submitform();
})
$(“#我的表格”)。验证({
规则:{
名字:{
必填项:true
},
姓氏:{
必填项:true
},
电话:{
必填项:true
},
电邮:{
要求:正确,
电子邮件:真的
},
地址:{
必填项:true
},
城市:{
必填项:true
},
声明:{
必填项:true
},
邮编:{
要求:正确,
数字:对
}
},
});
});
函数submitform(){
$.post('URL',$(“#我的表单”).serialize(),returnResults,'json');
$(“#MyForm”)。替换为“谢谢!

”; } 函数returnResults(){ //显示感谢信息 }
这样我才能正确地理解你。我认为无论输入是否正确,您的感谢信息都会显示出来。为了避免这种情况,请查看
valid()的jquery.validate.js方法

在您的
returnResults()
方法中,您可以这样做

function returnResults() {
    if ($("#mobile-landing").valid()) {
        //show thank you
    }
}

无论您在哪里根据成功提交进行编辑,都可以执行此检查(我假设您的表单id是
#mobile landing
)嘿,Michael,感谢您的快速回复。是的,这就是问题所在。表单ID是#移动登陆,尽管我想叫它#我的表单哈哈。我将检查Jquery验证。@user1240573这是否回答了您的问题?@user1240573确保这是您接受的答案,否则发布实际的解决方案。这回答了您的问题。抱歉耽搁了。