Я пытаюсь заставить веб-сайт вернуть диалог подтверждения перед отправкой формы, но по какой-то причине он не работает. Он вернул диалоговое окно подтверждения, но после нажатия «да» не отправил форму. Что я делаю неправильно?
<?php
echo "<form action = 'delete.php' method = 'POST'>
<label id = 'delete' onclick = \"return confirm('Are you sure?');this.form.submit()\"> delete </label>
</form>
";
?>
Замечания:
Вместо использования input: submit я бы предпочел использовать метку onclick () вместе с диалоговым окном подтверждения. Это возможно? Благодарю.
onclick
обработчик в вашем коде просто возвращает confirm
результат диалога и игнорирует остальную часть кода (this.form.submit()
);
Я бы порекомендовал использовать внешнюю функцию в таком случае:
<?php
echo "<form action = 'delete.php' method = 'POST'>
<label id = 'delete' onclick = \"confirmSubmit(this);\"> delete </label>
</form>
";
?>
JS код:
function confirmSubmit(e){
var need_submit = confirm('Are you sure?');
if (need_submit) e.form.submit();
}
Других решений пока нет …