2015-08-28 4 views
-1

Я прочитал почти каждое сообщение на эту тему, которое я могу найти здесь, и я просто не вижу, что я делаю неправильно.return confirm ("Confirm this") Не работает.

КОД:

<?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> 

Теперь этот простой тест работает, но на моей странице нет. Странно, так как это работает еще там, где на сайте и структуре страницы, похоже, не что-то другое. Когда кнопка ввода нажата, диалог подтверждения не появляется, и страница просто перезагружается.

Страница, где она не работает, сложнее, конечно, то, что выше, но это в основном то же самое. Вышеупомянутый код по большей части вырезается из него. Если я вырезаю и вставляю тестовый код в тело страницы, он больше не работает так, как в тесте. Диалог никогда не отображается.

Трудный вопрос для ответа. Я знаю, но точка в правильном направлении, чтобы знать, что я могу проверить и искать, было бы здорово.

+0

Это также хорошая идея _not_ использовать встроенный JavaScript. Вместо этого отвлеките его до функции, которую вы можете применить к элементу _any_. –

+0

... например http://stackoverflow.com/a/18193924/1094772 – rybo111

+0

Я тоже пробовал, и не повезло, просто не назову. –

ответ

1

Вы используете событие js, которое не повлияет на представление формы. Вам необходимо остановить отправку формы, используя событие onsubmit.

Отредактировано

<script> 
    function validate(){ 
return confirm('Are you sure?'); 
} 
</script> 

Добавьте его, чтобы сформировать как:

<form method="post" action="file.php" onsubmit="return validate();" > 
+0

Это также не работает. Диалог не отображается. –

+0

Typo с моей стороны, это работает, но у меня есть две кнопки, а не одна. И это называется на обоих. Есть ли способ обойти это? –

+0

Я продолжаю пытаться работать с этим, но они требуют, чтобы я использовал событие onclick, чтобы установить переменную, и она просто не запускается. –