0

我对 jquery 很陌生,我有一个确认/取消消息框,它工作得很好,除了我无法从表单中获取任何已发布的值。我知道是我自己,我对 jquery 缺乏了解,但是如果有人可以查看我的代码并告诉我函数(结果)中需要什么,以便当表单发布到它自己时我可以使用,我将非常感激if(isset['$_post['delete_job'])) 以运行 php 脚本。

我的表格...

<form id="del_job" onsubmit="return del_job()" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<div id="deleted"><button type="submit"  name="delete_job" title="Delete Job" style="float:left; border:none; cursor:pointer" ><img src="img/delete.jpg" /></button> Delete</a></div>
</form>

我的jquery...

<script type="text/javascript">
  $(document).ready(function() {
    $('#del_job').submit(function(ev){

      $.msgbox("Are you sure?", {
        type: "confirm", 
        buttons: [
          {type: "submit", value: "Yes"},
          {type: "cancel", value: "No"}
        ]
      }, function(result) {
        if (result && result=='Yes') {
          $('#del_job').send();
        }
      });

      ev.preventDefault();
    });
  });
</script>
4

1 回答 1

0

终于找到问题了!

似乎 BUTTON 元素不是提交的 POST 数据的一部分,我想这是有道理的,因为它们没有实际价值。所以在这里你有两个选择,你可以切换<button><input type="submit" name="delete_job" value="Delete" />,但这里的限制是你不能在按钮中有图像。

另一种选择是添加一个隐藏字段并isset()在其上使用。为此,只需添加<input name="del_job_submit" type="hidden" value="1" />到您的表单并使用它isset($_POST['del_job_submit'])来检查表单是否已提交。

于 2012-09-11T20:51:27.100 回答