На моей странице PHP есть ссылка, чтобы удалить одну базовую таблицу MySQL. Я хочу, чтобы это было так, что когда я нажимаю ссылку "удалить", появляется окно с подтверждением, и он должен спросить "вы уверены, что хотите удалить?", С двумя кнопками: "да" и "нет", Когда я нажимаю "да", я хочу удалить данные таблицы MySQL, и когда я нажимаю "нет", ничего не должно произойти.
PHP: Показать диалог подтверждения да/нет
Ответ 1
<a href="http://stackoverflow.com"
onclick="return confirm('Are you sure?');">My Link</a>
Ответ 2
<input name="_delete_" type="submit" value="Delete" onclick="return confirm('Are you sure?')">
Ответ 3
Вы всегда должны использовать кнопку формы/сообщения, чтобы подтвердить что-то подобное. Никогда не полагайтесь на Javascript. Прочитайте этот, чтобы понять, почему!
Ответ 4
Вы можете использовать JavaScript для запроса:
Найдено здесь здесь Пример
<script>
function confirmDelete(delUrl) {
if (confirm("Are you sure you want to delete")) {
document.location = delUrl;
}
}
</script>
<a href="javascript:confirmDelete('delete.page?id=1')">Delete</a>
Другой способ
<a href="delete.page?id=1" onclick="return confirm('Are you sure you want to delete?')">Delete</a>
Предупреждение. Этот JavaScript не остановит удаление записей, если они просто перейдут к окончательному URL-адресу - delete.page?id=1 в своем браузере.
Ответ 5
Обычно я создаю страницу удаления, которая показывает форму подтверждения, если метод запроса "GET" и удаляет данные, если метод был "POST", и пользователь выбрал вариант "Да".
Затем, на странице со ссылкой на удаление, я добавляю функцию onclick (или просто использую плагин подтверждения jQuery), который использует AJAX для отправки по ссылке, минуя страницу подтверждения.
Здесь идея в псевдокоде:
delete.php:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if ($_POST['confirm'] == 'Yes') {
delete_record($_REQUEST['id']); // From GET or POST variables
}
redirect($_POST['referer']);
}
?>
<form action="delete.php" method="post">
Are you sure?
<input type="submit" name="confirm" value="Yes">
<input type="submit" name="confirm" value="No">
<input type="hidden" name="id" value="<?php echo $_GET['id']; ?>">
<input type="hidden" name="referer" value="<?php echo $_SERVER['HTTP_REFERER']; ?>">
</form>
Страница со ссылкой на удаление:
<script>
function confirmDelete(link) {
if (confirm("Are you sure?")) {
doAjax(link.href, "POST"); // doAjax needs to send the "confirm" field
}
return false;
}
</script>
<a href="delete.php?id=1234" onclick="return confirmDelete(this);">Delete record</a>
Ответ 6
Попробуй это:
<td>
<a onclick="return confirm(\'Are you sure?\');" href="'.base_url('category/delete_category/'.$row->category_id).'" class="btn btn-danger btn-sm"><i class="fa fa-trash"></i> Delete Coupon</a>
</td>
Ответ 7
PHP-способ сделать это будет использовать диалоговую систему внутри php.for примера GTKDialogs: http://www.kksou.com/php-gtk2/articles/setup-a-dialog-box---Part-2---simple-yes-no-dialog.php Способ javacript, вероятно, немного проще, но помните, когда отключен javascript, это не работает (за исключением того, что вы проверяете javascript для включения, а затем добавляете это!?) Это может быть с обработчиком onclick, например, tsvanharen, или с простым текстовым диалогом внутри страницы вместо всплывающего окна.
<a onClick="$('deletefromtable').show();"></a>
<div id="deletefromtable" style="display:none;">
Do you really want to do this?<br/>
<a href="deleteit.php">Yes</a>|<a onClick="$('deletefromtable').hide();">No</a>
</div>
Я использую прототип (следовательно, тег $() и show()/hide()) для него. но вы можете легко изменить его для работы без прототипа:
<a onClick='document.getElementById("deletefromtable").style.display = "block";' href="#">click here to delete</a>
<div id="deletefromtable" style="display:none;">
Do you really want to do this?<br/>
<a href="deleteit.php">Yes</a>|<a onClick='document.getElementById("deletefromtable").style.display = "none";' href="#">No</a>
</div>
Опять же, это не работает без javascript, но почти никаких параметров нет.
Ответ 8
Если вы что-то удаляете, вы всегда должны использовать POST, а не GET, поэтому использование confirm() - плохая идея. То, что я делаю в вашей ситуации, - это использование модального всплывающего окна, например jqModal и отображение формы с кнопками да/нет внутри всплывающего окна.
Ответ 9
onclick="return confirm('Log Out?')? window.open('?user=logout','_self'): void(0);"
Сделал ли это script, а потом я тоже начал проверять интернет.
Да, это старая угроза, но, похоже, не похоже на какую-либо подобную версию, я думал, что буду способствовать.
Самый простой и простой способ работает во всех браузерах с/в любом элементе или поле.
Вы можете изменить window.open
на любую другую команду для запуска, когда подтверждение TRUE
, то же самое с void(0)
, если конформация NULL
или отменена.
Ответ 10
Лучший способ найти это здесь.
HTML-код
<a href="delete.cfm" onclick="return confirm('Are you sure you want to delete?');">Delete</a>
ДОБАВИТЬ ЭТОТ НА СЕБЯ HEAD
$(document).ready(function() {
$('a[data-confirm]').click(function(ev) {
var href = $(this).attr('href');
if (!$('#dataConfirmModal').length) {
$('body').append('<div id="dataConfirmModal" class="modal" role="dialog" aria-labelledby="dataConfirmLabel" aria-hidden="true"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button><h3 id="dataConfirmLabel">Please Confirm</h3></div><div class="modal-body"></div><div class="modal-footer"><button class="btn" data-dismiss="modal" aria-hidden="true">Cancel</button><a class="btn btn-primary" id="dataConfirmOK">OK</a></div></div>');
}
$('#dataConfirmModal').find('.modal-body').text($(this).attr('data-confirm'));
$('#dataConfirmOK').attr('href', href);
$('#dataConfirmModal').modal({show:true});
return false;
});
});
Вы должны добавить Jquery и Bootstrap для этого.
Ответ 11
<input type="submit" name="submit" value="submit" onclick="return confirm('Are you sure?');"/>
вы также можете выполнить это действие на кнопке!
Ответ 12
Я также искал способ сделать это и выяснил это, используя формы и атрибут formaction:
<input type="submit" name="del_something" formaction="<addresstothispage>" value="delete" />
<?php if(isset($_POST['del_something'])) print '<div>Are you sure? <input type="submit" name="del_confirm" value="yes!" formaction="action.php" />
<input type="submit" name="del_no" value="no!" formaction="<addresstothispage>" />';?>
action.php проверит наличие isset ($ _ POST ['del_confirm']) и вызовет соответствующий скрипт php (для действий с базой данных или чего-либо еще). Вуаля, никакой JavaScript не требуется. Используя атрибут formaction, кнопка удаления может быть частью любой формы и при этом вызывать другое действие формы (например, вернуться к той же странице, но с установленной кнопкой).
Если кнопка была нажата, отобразятся кнопки подтверждения.
Ответ 13
<a onclick="javascript:return confirm('Are You Confirm Deletion');" href="delete_customer.php?a=<?php echo $row['id']; ?>" class="btn btn-danger a-btn-slide-text" style="color: white; width:86px; height:37px;" > <span class="glyphicon glyphicon-remove" aria-hidden="true"></span><span><strong></a></strong></span>