模态确认隐藏原始“动作”属性

时间:2014-05-06 01:16:00

标签: javascript jquery twitter-bootstrap modal-dialog

我正在尝试实现一个模式窗口,当用户按下表单中的两个按钮之一时,该窗口会打开。模态有两个按钮,一个用于确认,另一个用于取消。

我的问题是,如果该表单按钮调用模式,服务器不会收到他们单击的表单按钮的属性。例如:

<button class="btn btn-danger confirm-delete" name="action" type="submit" value="-1">Delete</button>

我需要value属性才能访问我的服务器,以便正确处理表单(因为另一个按钮有另一个value属性)。

如果没有,服务器会在用户按下按钮时收到:

[('action', u'0'), ('process-csrf_token', u'1399148515.12##374d9bc0ce1d7f3b30b1865ad592d0c43ada0b7b'), ('process-selection', u'1'), ('process-submitted', u'true')]

使用模态,当用户按下按钮并按下确认按钮时,服务器会收到此信息:

[('process-csrf_token', u'1399148054.19##8d8a9913e2a8e6259b477e49c05a3d326fd935be'), ('process-selection', u'1'), ('process-submitted', u'true')]

如何将原始按钮的属性发送到服务器?

这是我的javascript:

$('button.confirm-delete').on('click', function(e){
    console.log("foo")
    var $form=$(this).closest('form');
    e.preventDefault();
    $('#confirmDelete').modal({ backdrop: 'static', keyboard: false })
        .one('click', '#confirm', function (e) {
            $form.trigger('submit');
        });
});

这是模态:

<div class="modal fade" id="confirmDelete" role="dialog" aria-labelledby="confirmDeleteLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
        <h4 class="modal-title">Delete Parmanently</h4>
      </div>
      <div class="modal-body">
        <p>Are you sure about this ?</p>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
        <button type="button" class="btn btn-danger" id="confirm">Delete</button>
      </div>
    </div>
  </div>
</div>

0 个答案:

没有答案