使用method = post通过jquery提交表单

时间:2013-10-22 12:34:05

标签: javascript jquery html forms

我想通过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的结束括号,这就是代码无效的原因,我正在敲打我的脑袋。

1 个答案:

答案 0 :(得分:1)

我认为使用名为$.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;

});