我用了一个教程来构建我的发送按钮。我有两种形式,根据选择哪一种形式,需要在“发送”上提交不同的表格,但是这个脚本除了弄乱我的邮件之外什么也没做。有人可以帮我解决这个问题并向我解释发生了什么事吗?表单看起来完全按照你的想法,但我拿出了表单的方法和操作属性,因为我认为它们将在下面的脚本中处理。
"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", "");
}
}),
答案 0 :(得分:1)
javascript中的一个值得注意的问题是,在定义dataString
之前定义的变量之前,您要定义email
。
此外,dataString
的表单编码无效。一旦编译,它应该看起来像'email=foo@foo.com&name=foo'
。它不能有html
将对象传递给data
的{{1}}更简单,让jQuery为您编译它或使用$.ajax
以整体形式收集所有数据
请改为尝试:
$('#formId').serialize()