Окно подтверждения [OK] и [ОТМЕНА] перед PHP Удалить запрос - PullRequest
0 голосов
/ 09 марта 2019

Добрый день! В моем коде ниже удаляется выбранное значение мгновенно. Меня беспокоит ... Я хочу получить окно подтверждения с continue для удаления и cancel, чтобы остановить действие, переходящее к delete query.

Как мне это сделать? Спасибо за помощь!

<?php if(isset($_POST['delete'])){
 	$categoryID = $_POST['categoryID'];

 	$delsql="DELETE FROM category WHERE categoryID=".$categoryID;
	$delquery=mysqli_query($con, $delsql);
	
	$stock_sql="DELETE FROM post WHERE categoryID=".$categoryID;
	$stock_query=mysqli_query($con, $stock_sql);
}

?>


<form class="add-new-post" method="post" action="deletecategoryselect.php" enctype="multipart/form-data">

Choose Category: <br><br>
  <select  ng-model='discussionsSelect' class='form-control' name="categoryID" >
        <?php do { ?>
          <option value="<?php echo $delcat_rs['categoryID']; ?>">
            <?php echo $delcat_rs['name']; ?></option> 
        <?php } while ($delcat_rs=mysqli_fetch_assoc($delcat_query));?>
      </select>
<br>
<button type="submit" class="btn btn-primary btn-2x" name="delete">Delete</button>

 </form>

Ответы [ 2 ]

0 голосов
/ 09 марта 2019

Вы можете просто сделать это, как показано ниже.

Добавить onclick="return confirm('Are you sure?');" к кнопке <button type="submit" onclick="return confirm('Are you sure?');" class="btn btn-primary btn-2x" name="delete">Delete</button>

В диалоговом окне подтверждения отобразятся кнопки OK и Cancel и будет возвращено true, если пользователь нажал OK.верните false в противном случае, и это предотвратит отправку формы.

0 голосов
/ 09 марта 2019

Вы можете изменить отправить событие.Я использовал здесь подтверждение, но в основном вы можете использовать любую логику, какую захотите, просто придерживайтесь event.preventDefault () и form.submit () .

//select form any way you want
const form = document.getElementById('formName');

form.onsubmit = function(event) {
    event.preventDefault();
    const test = confirm('Do you want to delete this?');
    if (test === true) {
        form.submit();
    }
}
...