Хм ... theres проблема с другими ответами здесь: они не работают против вашего HTML.
Там ошибка в JQuery (я предполагаю, что это ошибка), где, если элемент на форме имеет name
из submit
, затем вызвав submit
событие формы не будет работать.
Вам нужно будет удалить атрибут name
из вашей кнопки input type="submit"
или просто указать ему другое имя, кроме «отправить».
HTML
<form action ="/submit-page/" method='post' class="editable">
<fieldset>
<select name="status" id='status'>
<option value="Submitted">Submitted</option>
<option value="Canceled">Canceled</option>
<option value="Application">Application</option>
</select>
<input type="submit" value="SAVE" name="submit-button"/>
</fieldset>
</form>
JQuery
$('#status').on('change', function() {
var $this = $(this),
val = $this.val();
if (val === 'Canceled' && confirm("are you sure?")) {
$this.closest('form').submit();
}
});
PHP
$submitted = !empty($_POST['submit-button']);
if($submitted)
{
// Submit button was pressed.
}
else
{
// Form was submitted via alternate trigger.
}
экзамен PLE
Рабочая: http://jsfiddle.net/xixonia/KW5jp/
не работает: http://jsfiddle.net/xixonia/KW5jp/1/
Редактировать
Вы не так обновили свой вопрос, и этот ответ уже не является допустимым решением для того, что вы находясь в поиске. Вместо этого посмотрите на Chris Platt's answer.
Редактировать Опять
Это модифицированная версия Chris Platt's answer. Он просто ждет, пока DOM не будет готов (элементы загружены), прежде чем он выполнит логику, содержащуюся в первом $(...)
.
$(function() { // this first jQuery object ensures that...
/// ... the code inside executes *after* the DOM is ready.
$('form.editable').submit(function(){
if ($('#status').val()=='Canceled') {
if (!confirm('Warning message here. Continue?')) {
return false;
}
}
});
});
вы должны выложили это как ответ :) Я соблазнился ... – mindandmedia
Учебник здесь: [Модальные Подтверждение Диалог по форме Submit] (http://www.jensbits.com/2009/08/10/модальный-подтверждение-диалог-на-форме-Submit-JavaScript-JQuery-щ-и-ThickBox-многообразия /). Он включает простой пример js. –
Вы имеете в виду окно подтверждения, как упомянуто здесь: http://www.w3schools.com/js/js_popup.asp Или что-то вроде: http://forum.jquery.com/topic/jquery-confirm-box –