Ответ 1
Запишите это в onclick
событие кнопки:
var result = confirm("Want to delete?");
if (result) {
//Logic to delete the item
}
Я хочу получить подтверждающее сообщение при нажатии кнопки delete (это может быть кнопка или изображение). Если пользователь выбирает 'Ok
', тогда удаление выполняется, иначе, если нажата кнопка "Cancel
", ничего не происходит.
Я попытался повторить это, когда нажала кнопку, но эхо-материал заставляет мои поля ввода и текстовые поля терять свои стили и дизайн.
Запишите это в onclick
событие кнопки:
var result = confirm("Want to delete?");
if (result) {
//Logic to delete the item
}
Вы можете лучше использовать следующим образом
<a href="url_to_delete" onclick="return confirm('Are you sure you want to delete this item?');">Delete</a>
Вот как вы это сделаете с ненавязчивым JavaScript и подтверждающим сообщением, хранящимся в HTML.
<a href="/delete" class="delete" data-confirm="Are you sure to delete this item?">Delete</a>
Это чистая ванильная JS, совместимая с IE 9 +:
var deleteLinks = document.querySelectorAll('.delete');
for (var i = 0; i < deleteLinks.length; i++) {
deleteLinks[i].addEventListener('click', function(event) {
event.preventDefault();
var choice = confirm(this.getAttribute('data-confirm'));
if (choice) {
window.location.href = this.getAttribute('href');
}
});
}
Смотрите в действии: http://codepen.io/anon/pen/NqdKZq
function ConfirmDelete()
{
var x = confirm("Are you sure you want to delete?");
if (x)
return true;
else
return false;
}
<input type="button" Onclick="ConfirmDelete()">
Попробуйте это. Это работает для меня
<a href="delete_methode_link" onclick="return confirm('Are you sure you want to Remove?');">Remove</a>
улучшается на user1697128 (потому что я не могу его прокомментировать)
<script>
function ConfirmDelete()
{
var x = confirm("Are you sure you want to delete?");
if (x)
return true;
else
return false;
}
</script>
<button Onclick="return ConfirmDelete();" type="submit" name="actiondelete" value="1"><img src="images/action_delete.png" alt="Delete"></button>
отменяет отправку формы, если отмена нажата
HTML:
<a href="#" class="delete" data-confirm="Are you sure to delete this item?">Delete</a>
Использование jQuery:
$('.delete').on("click", function (e) {
e.preventDefault();
var choice = confirm($(this).attr('data-confirm'));
if (choice) {
window.location.href = $(this).attr('href');
}
});
<form onsubmit="return confirm('Are you sure?');" />
хорошо работает для форм. Вопрос по форме: Отправка формы JavaScript - подтверждение или отмена диалогового окна отправки
Я хотел бы предложить способ, которым я это делаю:
<form action="/route" method="POST">
<input type="hidden" name="_method" value="DELETE">
<input type="hidden" name="_token" value="the_token">
<button type="submit" class="btn btn-link" onclick="if (!confirm('Are you sure?')) { return false }"><span>Delete</span></button>
</form>
Если вас интересует какое-то быстрое решение с css-форматом, вы можете использовать SweetAlert
$(function(){
$(".delete").click(function(){
swal({
title: "Are you sure?",
text: "You will not be able to recover this imaginary file!",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "Yes, delete it!",
closeOnConfirm: false
},
function(isConfirmed){
if(isConfirmed) {
$(".file").addClass("isDeleted");
swal("Deleted!", "Your imaginary file has been deleted.", "success");
}
}
);
});
});
html { zoom: 0.7 } /* little "hack" to make example visible in stackoverflow snippet preview */
body > p { font-size: 32px }
.delete { cursor: pointer; color: #00A }
.isDeleted { text-decoration:line-through }
<script src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
<script src="http://t4t5.github.io/sweetalert/dist/sweetalert-dev.js"></script>
<link rel="stylesheet" href="http://t4t5.github.io/sweetalert/dist/sweetalert.css">
<p class="file">File 1 <span class="delete">(delete)</span></p>
Практика
<form name=myform>
<input type=button value="Try it now"
onClick="if(confirm('Format the hard disk?'))
alert('You are very brave!');
else alert('A wise decision!')">
</form>
Веб-оригинал:
<a href="javascript:;" onClick="if(confirm('Are you sure you want to delete this product')){del_product(id);}else{ }" class="btn btn-xs btn-danger btn-delete" title="Del Product">Delete Product</a>
<!-- language: lang-js -->
<script>
function del_product(id){
$('.process').css('display','block');
$('.process').html('<img src="./images/loading.gif">');
$.ajax({
'url':'./process.php?action=del_product&id='+id,
'type':"post",
success: function(result){
info=JSON.parse(result);
if(result.status==1){
setTimeout(function(){
$('.process').hide();
$('.tr_'+id).hide();
},3000);
setTimeout(function(){
$('.process').html(result.notice);
},1000);
} else if(result.status==0){
setTimeout(function(){
$('.process').hide();
},3000);
setTimeout(function(){
$('.process').html(result.notice);
},1000);
}
}
});
}
</script>
function del_confirm(msg,url)
{
if(confirm(msg))
{
window.location.href=url
}
else
{
false;
}
}
<a onclick="del_confirm('Are you Sure want to delete this record?','<filename>.php?action=delete&id=<?<id> >')"href="#"></a>
Использование jQuery:
$(".delete-link").on("click", null, function(){
return confirm("Are you sure?");
});
Я знаю, что это старо, но мне нужен был ответ, и не из них, но alpesh ответ работал у меня и хотел поделиться с людьми, которые могли бы иметь ту же проблему.
<script>
function confirmDelete(url) {
if (confirm("Are you sure you want to delete this?")) {
window.open(url);
} else {
false;
}
}
</script>
Нормальная версия:
<input type="button" name="delete" value="Delete" onClick="confirmDelete('delete.php?id=123&title=Hello')">
Моя версия PHP:
$deleteUrl = "delete.php?id=" .$id. "&title=" .$title;
echo "<input type=\"button\" name=\"delete\" value=\"Delete\" onClick=\"confirmDelete('" .$deleteUrl. "')\"/>";
Это может быть не правильный способ сделать это публично, но это сработало для меня на частном сайте.:)
чтобы установить сообщение о конформации, когда вы удаляете что-то в php и mysql...
используйте этот script код:
<script>
function Conform_Delete()
{
return conform("Are You Sure Want to Delete?");
}
</script>
используйте этот html-код:
<a onclick="return Conform_Delete()" href="#">delete</a>
<SCRIPT LANGUAGE="javascript">
function Del()
{
var r=confirm("Are you sure?")
if(r==true){return href;}else{return false;}
}
</SCRIPT>
ваша ссылка для этого:
<a href='edit_post.php?id=$myrow[id]'> Delete</a>
Обработчик onclick должен возвращать значение false после вызова функции. Например,
onclick="ConfirmDelete(); return false;">
Я думаю, что самым простым ненавязчивым решением было бы:
Ссылка
<a href="http://link_to_go_to_on_success" class="delete">Delete</a>
JavaScript:
$('.delete').click(function () {
return confirm("Are you sure?");
});
<a href="javascript:;" onClick="if(confirm('Are you sure you want to delete this product')){del_product(id);}else{ }" class="btn btn-xs btn-danger btn-delete" title="Del Product">Delete Product</a>
function del_product(id){
$('.process').css('display','block');
$('.process').html('<img src="./images/loading.gif">');
$.ajax({
'url':'./process.php?action=del_product&id='+id,
'type':"post",
success: function(result){
info=JSON.parse(result);
if(result.status==1){
setTimeout(function(){
$('.process').hide();
$('.tr_'+id).hide();
},3000);
setTimeout(function(){
$('.process').html(result.notice);
},1000);
}else if(result.status==0){
setTimeout(function(){
$('.process').hide();
},3000);
setTimeout(function(){
$('.process').html(result.notice);
},1000);
}
}
});
}
Вот еще один простой пример в чистом JS с использованием className и связанного с ним события.
var eraseable = document.getElementsByClassName("eraseable");
for (var i = 0; i < eraseable.length; i++) {
eraseable[i].addEventListener('click', delFunction, false); //bind delFunction on click to eraseables
}
function delFunction(){
var msg = confirm("Are you sure?");
if (msg == true) {
this.remove(); //remove the clicked element if confirmed
}
};
<button class="eraseable">
<img class="eraseable" src="http://zelcs.com/wp-content/uploads/2013/02/stackoverflow-logo-dumpster.jpg" style="width:100px;height:auto;">
Delete me</button>
<button class="eraseable">
<img class="eraseable" src="http://zelcs.com/wp-content/uploads/2013/02/stackoverflow-logo-dumpster.jpg" style="width:100px;height:auto;">
Delete me</button>
<button class="eraseable">
<img class="eraseable" src="http://zelcs.com/wp-content/uploads/2013/02/stackoverflow-logo-dumpster.jpg" style="width:100px;height:auto;">
Delete me</button>
<script>
function deleteItem()
{
var resp = confirm("Do you want to delete this item???");
if (resp == true) {
//do something
}
else {
//do something
}
}
</script>
вызовите эту функцию, используя onClick
Для "подтверждения сообщения об удалении" используйте:
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "Searching.aspx/Delete_Student_Data",
data: "{'StudentID': '" + studentID + "'}",
dataType: "json",
success: function (data) {
alert("Delete StudentID Successfully");
return true;
}
Angularjs с примером удаления Javascript
html code
<button ng-click="ConfirmDelete(single_play.play_id)" type="submit" name="actiondelete" value="1"><img src="images/remove.png" alt="Delete"></button>
"single_play.play_id" - любая переменная angularjs, предположим, что вы хотите передать любой параметр во время действия удаления
Код Angularjs внутри модуля приложения
$scope.ConfirmDelete = function(yy)
{
var x = confirm("Are you sure you want to delete?");
if (x) {
// Action for press ok
$http({
method : 'POST',
url : 'sample.php',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
data: $.param({ delete_play_id : yy})
}).then(function (response) {
$scope.message = response.data;
});
}
else {
//Action for cancel
return false;
}
}
Гораздо сложнее сделать это для отдельных полей выбора. Вот решение:
<select onchange="if (this.value == 'delete' && !confirm('THIS ACTION WILL DELETE IT!\n\nAre you sure?')){this.value=''}">
<option value=''> </option>
<option value="delete">Delete Everything</option>
</select>
var txt;
var r = confirm("Press a button!");
if (r == true) {
txt = "You pressed OK!";
} else {
txt = "You pressed Cancel!";
}
var txt;
var r = confirm("Press a button!");
if (r == true) {
txt = "You pressed OK!";
} else {
txt = "You pressed Cancel!";
}
var x = confirm("Are you sure you want to send sms?");
if (x)
return true;
else
return false;
function confirmDelete()
{
var r=confirm("Are you sure you want to delte this image");
if (r==true)
{
//User Pressed okay. Delete
}
else
{
//user pressed cancel. Do nothing
}
}
<img src="deleteicon.png" onclick="confirmDelete()">
Вы можете передать некоторые данные с помощью confirmDelete, чтобы определить, какая запись должна быть удалена.