提交按钮不通过AJAX / JQuery返回值给自己

我有一个在Colorbox中打开并通过Ajax / JQuery提交给自己的表单。 但是,似乎传递的数据不包括提交按钮本身的值。 无论我使用多个提交还是仅使用一个,$ _POST ['submitButton']中都没有数据,并且它不响应isset()或empty()。

表单的其余部分只是很好。 我可以回显$ _POST ['name']和$ _POST ['email'],而不是$ _POST ['submitButton']

这里是(我的表单的精简版):

<form id="sub-process" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input name="name" type="text" value="">
<input name="email" type="text" value="">
<input name="submitButton" type="submit" value="Submit">
</form>

这里是jquery处理通过AJAX提交的表单,而不是HTTP请求。

jQuery(function(){
jQuery('.cbox-form').colorbox({maxWidth: '75%', onComplete: function(){
cbox_submit();
}});
});

function cbox_submit()
{
jQuery("#sub-process").submit(function(){
jQuery.post(
  jQuery(this).attr('action'),
  jQuery(this).serialize(),
  function(data){
    jQuery().colorbox({html: data, onComplete: function(){
      cbox_submit();
    }});
  }
);
return false;
  });
}

我知道这是一个古老的问题,但它看起来像人们不明白,@itachi有正确的答案。

serialize方法永远不会从提交按钮中返回一个值。 它不会返回帖子中的提交按钮。 您将尽最大努力使用隐藏的表单字段并向按钮添加单击事件。


尝试使用$_POST['submitButton']


jQuery的serialize()函数有点奇特而且特别。 我发现它在许多情况下不是很有用。 你可能想尝试serializeObject插件。 我发现它在很多情况下在serialize()对我不起作用的情况下工作。

链接地址: http://www.djcxy.com/p/69835.html

上一篇: submit button not returning value via AJAX/JQuery to self

下一篇: Simple table query syntax error?