使用方法=发布通过jquery提交表单

Submitting form by jquery using method=post

本文关键字:提交 表单 jquery 布通过 使用方法      更新时间:2023-09-26

我想通过jquery提交表单。 我编写查询表单如下

$("#form").submit(function(event) {
    if(!$("#change").hasClass("has-error") && !$("#name1").hasClass("has-error") 
            && !$("#contact1").hasClass("has-error") && !$("#batch1").hasClass("has-error")){
            alert("submitting");
            event.preventDefault();
            var $form=$(this);
            name1=$("#name").val();
            contact1=$("#contact").val();
            email1=$("#email").val();
            city1=$form.find("input[name='city']").val();
            company1=$form.find("input[name='company']").val();
            url=$form.attr("action");
            var posting= $.post("some_link.php",{ name:name1,contact:contact1,email:email1,city:city1,company:company1});
            posting.done(function(data){
                alert("form submitted successfully");
                )
            })
            $("#reset").click();
            return false;
            }
    else return false;
});

但这是通过GET方法而不是通过POST方法发布表单,并且URL表单被重定向到其他PHP页面,而不是保留在此页面上。

这是链接的样子 http://www.example.com/current_page.php?name=jhgjk&contact=lksjf&email=lkdj%40ldkjf.clj&city=&company=但我想要一个正常的发布方法,就像通常通过在表单中包含method="post"来完成的那样

编辑 我得到了我正在做的错误。 我缺少 $.post 的右括号,这就是代码不起作用的原因,我正在敲头。

我认为使用名为$.ajax的技术会更好:

$("#form").submit(function(e) {
    if(!$("#change").hasClass("has-error") && !$("#name1").hasClass("has-error") 
            && !$("#contact1").hasClass("has-error") && !$("#batch1").hasClass("has-error")){

            e.preventDefault();
            alert("submitting");
            $.ajax({ 
               url: 'some-link.php',
               type: 'POST',
               data: $(this).serialize(),
               success: function(data) {
                  alert('success!');
               },
               error: function(data) {
                  alert('error');
               }
            });

            }
    else return false;
});