我有一个带有两个按钮的表格。我使用name数据中元素的POST属性检查在服务器端单击了哪一个,并相应地进行了处理:

<input id="reply" name="reply" type="submit" value="{%trans "REPLY"%}">
<input id="delete" name="delete" type="submit" value="{%trans "DELETE"%}">


我正在尝试使用JQuery将确认框(使用Boxy插件)添加到DELETE按钮的click事件中。这是代码:

$(document).ready(function()  {
    $("#delete").click(function(e){
            Boxy.ask('Delete?', {'1':'YES', '2':'NO'}, function(val){
                if (val=='1') $("#form").submit();
            });
        return false;
    });
});


当然,此代码会导致在表单中提交的DELETE数据中没有POST按钮的名称。有没有一种方法可以将该数据添加到POST数据中,或者有更好的方法来实现我正在尝试的功能?

最佳答案

您可以使用命名空间事件,在确认时解除绑定,然后重新触发:

$(document).ready(function() {

  var $delete = $("#delete");

  $delete.bind("click.guard", function() {
    Boxy.ask("Delete?", {"1": "YES", "2": "NO"}, function(val) {
      if (val == "1") {
        $delete.unbind("click.guard").click();
      }
    });
    return false;
  });

});

关于jquery - jQuery-以编程方式提交具有多个按钮的表单,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1483521/

10-12 12:58