Jquery POST,在发布数据时提交表单

时间:2013-12-24 22:04:11

标签: jquery ajax forms submit send

我用了一个教程来构建我的发送按钮。我有两种形式,根据选择哪一种形式,需要在“发送”上提交不同的表格,但是这个脚本除了弄乱我的邮件之外什么也没做。有人可以帮我解决这个问题并向我解释发生了什么事吗?表单看起来完全按照你的想法,但我拿出了表单的方法和操作属性,因为我认为它们将在下面的脚本中处理。

  "Send": (function() { 

            if(submitbutton == 1){
                var dataString = 'name:'+ name + '</br>email:' + email + '</br>phone:' + phone;  
                //alert (dataString);return false;  
                $.ajax({  
                     var name = $("input#name").val();  
                     var phone = $("input#phone").val();  
                     var email = $("input#email").val();  
                  type: "POST",  
                  url: "mailer.php",  
                  data: dataString,  
                  success: function() {  
                    $( this ).dialog( "close" );
                  }  
                });  
                return false;  

            }

            else if(submitbutton == 2){
                var dataString = 'name:'+ name + '</br>email:' + email + '</br>phone:' + phone;  
                //alert (dataString);return false;  
                $.ajax({  
                     var name = $("input#name2").val();  
                     var phone = $("input#phone2").val();  
                     var email = $("input#email2").val();  
                  type: "POST",  
                  url: "mailer2.php",  
                  data: dataString,  
                  success: function() {  
                    $( this ).dialog( "close" );
                  }  
                });
                return false;  
            }
            else if(submitbutton == 0){ 
                $("#error").css("display", "");
            }

        }),

1 个答案:

答案 0 :(得分:1)

javascript中的一个值得注意的问题是,在定义dataString之前定义的变量之前,您要定义email

此外,dataString的表单编码无效。一旦编译,它应该看起来像'email=foo@foo.com&name=foo'。它不能有html

将对象传递给data的{​​{1}}更简单,让jQuery为您编译它或使用$.ajax以整体形式收集所有数据

请改为尝试:

$('#formId').serialize()