#javascript #jquery #ajax #jquery-ui
#javascript #jquery #ajax #jquery-пользовательский интерфейс
Вопрос:
Я использую диалоговое окно пользовательского интерфейса Jquery в качестве подтверждения при удалении записи. Чего я пытаюсь добиться, так это того, что при нажатии на кнопку отправки со значением «удалить» откроется диалоговое окно и подтвердится ваш выбор. Если вы выберете «да», форма будет отправлена со значением кнопки отправки. Я понимаю, что в данный момент это не сработает, потому что submit () не имеет способа узнать, какая кнопка была нажата, но я не уверен, как это сделать? Заранее большое спасибо.
<script type="text/javascript">
$(document).ready(function(){
$("#dialog").dialog({
modal: true,
bgiframe: true,
width: 500,
height: 200,
autoOpen: false
});
$("#rusure").click(function(e) {
e.preventDefault();
$("#dialog").dialog('option', 'buttons', {
"Confirm" : function() {
$("#tasks").submit();
},
"Cancel" : function() {
$(this).dialog("close");
}
});
$("#dialog").dialog("open");
});
});
</script>
<input type="submit" name="action" value="Delete" id="rusure"/>
Форма называется «задачи», а скрытый div, содержащий содержимое диалога, называется «dialog». На данный момент все работает нормально, за исключением отправки формы со значением кнопки отправки. В форме также есть 2 кнопки отправки.
Ответ №1:
Попробуйте:
$("#rusure").click(function(e) {
e.preventDefault();
// Create hidden input from button and append to form
var input = $('<input name="confirm_delete" value="yesplz" type="hidden" />').appendTo('#tasks');
$("#dialog").dialog('option', 'buttons', {
"Confirm" : function() {
$("#tasks").submit();
},
"Cancel" : function() {
$(this).dialog("close");
$(input).remove();// Remove hidden input
}
});
$("#dialog").dialog("open");
});
Демонстрация здесь:http://jsfiddle.net/Madmartigan/ZGLNc/1 /