我希望这个链接有一个JavaScript对话框,询问用户“你确定吗?”Y / N”。
<a href="delete.php?id=22">Link</a>
如果用户点击“是”,链接应该加载,如果“否”什么都不会发生。
我知道如何在表单中做到这一点,使用onclick运行一个返回true或false的函数。但我如何做到这一点与<a>链接?
我希望这个链接有一个JavaScript对话框,询问用户“你确定吗?”Y / N”。
<a href="delete.php?id=22">Link</a>
如果用户点击“是”,链接应该加载,如果“否”什么都不会发生。
我知道如何在表单中做到这一点,使用onclick运行一个返回true或false的函数。但我如何做到这一点与<a>链接?
当前回答
如果您使用addEventListener(或attachEvent)附加事件处理程序,则此方法与上述任何一个答案都略有不同。
function myClickHandler(evt) {
var allowLink = confirm('Continue with link?');
if (!allowLink) {
evt.returnValue = false; //for older Internet Explorer
if (evt.preventDefault) {
evt.preventDefault();
}
return false;
}
}
你可以用以下任何一个来附加这个处理程序:
document.getElementById('mylinkid').addEventListener('click', myClickHandler, false);
或者对于旧版本的ie浏览器:
document.getElementById('mylinkid').attachEvent('onclick', myClickHandler);
其他回答
如果您使用addEventListener(或attachEvent)附加事件处理程序,则此方法与上述任何一个答案都略有不同。
function myClickHandler(evt) {
var allowLink = confirm('Continue with link?');
if (!allowLink) {
evt.returnValue = false; //for older Internet Explorer
if (evt.preventDefault) {
evt.preventDefault();
}
return false;
}
}
你可以用以下任何一个来附加这个处理程序:
document.getElementById('mylinkid').addEventListener('click', myClickHandler, false);
或者对于旧版本的ie浏览器:
document.getElementById('mylinkid').attachEvent('onclick', myClickHandler);
使用PHP, HTML和JAVASCRIPT提示
如果有人想在一个文件中使用php, html和javascript,下面的答案对我来说是有效的。我附上了使用的引导图标“垃圾”的链接。
<a class="btn btn-danger" href="<?php echo "delete.php?&var=$var"; ?>" onclick="return confirm('Are you sure want to delete this?');"><span class="glyphicon glyphicon-trash"></span></a>
我在中间使用PHP代码的原因是因为我不能从一开始就使用它。
下面的代码不为我工作:-
echo "<a class='btn btn-danger' href='delete.php?&var=$var' onclick='return confirm('Are you sure want to delete this?');'><span class='glyphicon glyphicon-trash'></span></a>";
我在第一个代码中修改了它,然后我就像我需要的那样运行。我希望我能帮助那些需要我的案子的人。
你也可以试试这个:
<a href="" onclick="if (confirm('Delete selected item?')){return true;}else{event.stopPropagation(); event.preventDefault();};" title="Link Title">
Link Text
</a>
<a href="delete.php?id=22" onclick = "if (! confirm('Continue?')) { return false; }">Confirm OK, then goto URL (uses onclick())</a>
大多数浏览器不会显示传递给confirm()的自定义消息。
使用此方法,如果用户更改了任何<input>字段的值,您可以显示一个带有自定义消息的弹出窗口。
您只能将此应用于页面中的某些链接,甚至其他HTML元素。只需添加一个自定义类到所有需要确认的链接,并使用以下代码应用:
$(document).ready(function() { let unsaved = false; // detect changes in all input fields and set the 'unsaved' flag $(":input").change(() => unsaved = true); // trigger popup on click $('.dangerous-link').click(function() { if (unsaved && !window.confirm("Are you sure you want to nuke the world?")) { return; // user didn't confirm } // either there are no unsaved changes or the user confirmed window.location.href = $(this).data('destination'); }); }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type="text" placeholder="Nuclear code here" /> <a data-destination="https://en.wikipedia.org/wiki/Boom" class="dangerous-link"> Launch nuke! </a>
尝试更改示例中的输入值,以预览其工作方式。