#javascript #php #mysql #alert #sql-delete
#javascript #php #mysql #предупреждение #sql-удалить
Вопрос:
Я попытался обновить страницу после удаления элемента из моего внутреннего списка.
Вот HTML
<a href="index.php?id=<?php
echo $array[id_news];
?>amp;?action=delete" onClick="return conferma()">Remove</a>
Вот PHP
if ($_POST['action'] = "delete") {
$sql="DELETE FROM news WHERE id_news=".$_GET['id'];
if (!mysql_query($sql)) {}
}
Вот Javascript
function conferma() {
return confirm('Confermi di voler cancellare la news selezionata?');
window.location.reload();
}
Всплывающее окно появляется, но после нажатия кнопки «ОК» страница не обновляется.
Комментарии:
1.
return
останавливает поток выполнения в текущей функции и возвращает ее в вызывающий контекст.
Ответ №1:
Вы возвращаетесь в confirm()
строку, поэтому перезагрузка никогда не выполняется. Изменить на:
function conferma() {
if(confirm('Confermi di voler cancellare la news selezionata?')){
// call the delete script via ajax now.....
window.location.reload();
}
return false;
}
Похоже, вам нужно использовать AJAX для вызова скрипта удаления, потому что в противном случае произойдет перезагрузка, и ссылка привязки никогда не будет посещена.
Ответ №2:
Вы возвращаете логический результат из диалогового окна подтверждения, а затем перезагружаете, поэтому скрипт никогда не достигает перезагрузки
function conferma() {
ritorno = confirm('Confermi di voler cancellare la news selezionata?');
if(ritorno)
window.location.reload();
else console.log('ok nothing to do');
}
Ответ №3:
Исправить:
if ($_POST['action'] = "delete") {
Автор:
if ($_POST['action'] == "delete") {