Я прочитал почти каждый пост на эту тему, которую я могу найти здесь, и я просто не вижу, что я делаю неправильно.
КОД:
<?php
// This is a test of a confirm dialog.
if(isset($_POST['delete'])){
echo "Delete something";
}
?>
<html>
<head>
<title>Confirm Test</title>
</head>
<body>
<form method="post">
<input type="submit" name="delete" value="Delete" onclick="return confirm('Are you sure you want to do delete item?')">
</form>
</body>
</html>
Теперь этот простой тест работает, но на моей странице это не так. Странно, как это работает в другом месте, где на сайте и структура страницы, кажется, не отличается. При нажатии кнопки ввода диалоговое окно подтверждения не появляется, и страница просто перезагружается.
Страница, где она не работает, конечно, сложнее, чем выше, но в основном она такая же. Код выше по большей части вырезан из него. Если я вырезал и вставил тестовый код в тело страницы, он больше не работает, как в тесте. Диалог никогда не представлен.
Трудный вопрос для ответа, я знаю, но точка в правильном направлении, чтобы знать, что я могу проверить и найти, было бы здорово.
Ты используешь onclick
событие js, которое не повлияет на отправку формы. Вам необходимо остановить отправку формы, используя onsubmit
событие.
отредактированный
<script>
function validate(){
return confirm('Are you sure?');
}
</script>
Добавьте это, чтобы сформировать как:
<form method="post" action="file.php" onsubmit="return validate();" >
Других решений пока нет …