Обновить страницу после всплывающего предупреждения «ОК» с помощью javascript

#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") {