1

我想通过 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 的右括号,这就是代码不起作用的原因,我正在敲我的头。

4

1 回答 1

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;

});
于 2013-10-22T12:44:44.897 回答