Диалоговое окно Подтверждения отправки кнопки HTML-формы
Это общий код формы
<form name="search_form" action="" method="POST">
<input type="text" name="search_text">
<input type="submit" name="search_bt" value="Go">
</form>
Есть ли способ, чтобы в диалоговом окне подтверждения говорилось "Да"\"Нет" или "Подтвердить"\"Отменить" и т. Д....
Один из способов, которым я понял донга, - это использовать слой CSS, JavaScript и Php... у которых есть кнопка php isset(){}
, и когда она установлена, отображается Div, отображаемый двумя кнопками, и onclick=func()
функция JS этих кнопок имеет переменную php(флаг), а затем я могу if(flag){}
продолжить или пропустить некоторый код...
Что ж, это сработает и плюс в том, что у меня может быть хорошо оформленное диалоговое окно, но я просто хочу облегчить себе жизнь...
4 answers
Вы также можете сделать это с помощью одной строки в самом теге формы
<form action="exampleHandlerPage.php" method="post" onsubmit="return confirm('Are you sure you want to submit?');">
Использование необработанного javascript
без какого-либо div...
Ты можешь взять это function
function confirmSubmit() {
if (confirm("Are you sure you want to submit the form?")) {
document.getElementById("FORM_ID").submit();
}
return false;
}
И вы можете вызвать эту функцию из события onsubmit
в форме или из события onclick
в button
.
Кстати, вы слышали о JQuery
. Это библиотека JS с множеством полезных вещей, которые дают вам удобный и красивый способ кодирования javascript.
В качестве примера того, что вы хотите сделать, возьмите это диалоговое окно подтверждения из JQuery
как пример
Если у вас есть 2 или более кнопок отправки в одной форме:
<input type="submit" value="Edit">
<input type="submit" name="delete" value="Delete" onclick="return confirm('Confirm, please.');">
Диалоговое окно отображается только при нажатии кнопки Delete
.
<form action="<form handler>" method="post" onsubmit="return confirm('Are you sure you want to submit?')">
Может ли этот javascript храниться в отличии от тега "форма", замените
return confirm(...)
С чем-то вроде
return sendata(...)