2015-02-18 2 views
0

Я хочу, чтобы пользователь подтвердил удаление записи, нажав кнопку, и кнопка отправит значение Да в запрос $ _POST, чтобы я мог удалить запись с помощью PHP, вместо этого он показывает мне файл javascript, который содержит функцию.

Что я делаю неправильно, я искал и искал 3 часа подряд, в то время как в глубине души я знаю, что это простое решение.

Любая помощь очень ценится.

Если вы считаете, что есть более умный способ сделать это, сообщите мне.

$(function() { 

    $("#DeleteConfirm").dialog({ 

     buttons: { 
       "Confirm": function() { 
        var DeleteConfirmation = "Yes";     
        $.ajax({ 
         type: "POST", 
         url: "index.php", 
         data: DeleteConfirmation, 
         success: function(DeleteConfirmation){ 
          alert(DeleteConfirmation); 
         }, 
         dataType: "text" 
        }); 

       }, 
       "Cancel": function() { 
        $(this).dialog("close"); 
       } 
      } 
    }); 

}); 
+0

Вам нужно будет передать идентификатор 'id' /' hash' или какой-либо другой уникальный идентификатор в вашей 'POST', или вы не будете знать, что вам нужно удалить – cmorrissey

ответ

0

Javascript:

if(confirm('Are you sure?')){ 
    /*proceed?*/ 
} 

То есть стандартный JavaScript. Он завершает вызов AJAX в фигурных скобках, и если пользователь нажимает «да» - будет выполняться вызов ajax. Если он нажмет «нет», тогда ничего не произойдет. Вспышка confirm() выводит предупреждение на экране с помощью кнопок. Полученный результат захватывается if. Вы также можете записать результат: var res=confirm('are you sure?');.

+0

Это работает для меня, спасибо – Ducky

0

Вам необходимо присвоить значение YES на имя свойства:

data: { "confirmed": DeleteConfirmation}, 

Затем в PHP вы можете готовы это с помощью $_POST["confirmed"].

Это кажется немного лишним, так как пользователь уже нажал кнопку, чтобы подтвердить удаление, поэтому при отправке значения в запрос POST мало значения. Отправка id элемента для удаления имеет смысл.

0

Ваш Аякса является бесформенно, попробуйте:

   $.ajax({ 
        type: "POST", 
        url: "index.php", 
        data: {answer: DeleteConfirmation }, //what you send to the php 
        success: function(data){ //answer from your php 
         alert(data); 
        }, 
        dataType: "text" 
       }); 

      }, 
Смежные вопросы