Во втором примере форма отправляется с помощью кнопки. Однако в первом примере форма отправляется программно только после подтверждения диалогового окна, поэтому кнопка отправки больше не используется, поэтому она никогда не отображается на сервере.
Вы можете получить и скопировать это значение в скрытое поле, когда оно щелкнуло, а форма действительна.
$(function () {
$("#userForm").validate({
submitHandler: function (form) {
// copy value of button into hidden field
$('#submitButtonValue').val($('#submitButton').val());
bootbox.confirm('are you sure?', function (result) {
if (result) {
form.submit();
}
})
}
});
});
HTML разметка:
<form id="userForm'>
<input type="hidden" name="submitButtonValue" id="submitButtonValue" value="" />
....
<input type="submit" name="submitButton" id="submitButton" value="Submit" />
</form>
В этот момент вы должны получить это:
Array
(
[username] => james
[submitButtonValue] => Submit
)
Хотя очень непонятно, зачем вам вообще это нужно. Если он проходит через submitHandler
, не можем ли мы автоматически предположить, что была нажата кнопка submit
? В таком случае кажется бессмысленным копировать значение кнопки отправки в скрытое поле.