我有一个表单,我使用jQuery $.post()
提交。它不提交任何变量。
这是jQuery代码:
$('#eb1').live('click',function() {
$.post("php/emailPost.php", $("emailPost").serialize(), function(){
$("#emailModal").dialog('close');
$('#emailJQButton').attr('value', 'Emailed');
});
});
帖子文件没有返回错误,其他一切正常。这只是没有传递任何值的事实(我使用Firebug进行了检查)。
以下是输出表单本身的PHP代码的一部分(不要说HEREDOC的任何内容,它对我不起作用,关闭案例):
echo "<form action='php/emailPost.php' method='POST' class='inline' id='emailPost'>";
echo "<input type='hidden' value='" . $_SESSION["email"] . "' name='emailAddress'>";
echo "<input type='button' value='Email To Me' id='eb1'/>";
echo "<input type='hidden' name='passedCoupID' value='" . $coupID . "'/>";
echo "</form>";
我没有看到任何明显的原因,为什么它没有传递任何值。其他类似编写的表单正确传递变量。 $coupID
由页面预先填充。
任何帮助?
答案 0 :(得分:5)
$("emailPost").serialize()
应该是
$("#emailPost").serialize()
答案 1 :(得分:2)
将
$("emailPost").serialize()
更改为$("#emailPost").serialize()
或$("form").serialize()