我有一个买入信用的链接。我想点击链接确认显示,如果用户点击是链接直接。但在我的页面中,当我点击是或没有链接指示我href链接。表示是或否不同并链接工作。
<script>
<!--
function confirmbuy() {
if (confirm("Are You Sure???")) {
return true;
} else {
return false;
}
}
//-->
</script>
<a href="buy.php" onclick="confirmbuy();">Buy</a>
我测试此代码的提交按钮和工作属性但链接不起作用!!!
答案 0 :(得分:3)
您需要返回confirmbuy()
函数的结果,否则该事件将永远不会被取消。
<a href="buy.php" onclick="return confirmbuy();">Buy</a>
答案 1 :(得分:3)
您的事件处理函数(由内部事件属性的值定义)不返回任何内容。它只是调用confirmbuy
然后停止。
如果要返回confirmbuy
的返回值,则必须明确地返回:
onclick="return confirmbuy();">
confirmbuy
是事件处理程序,您不会遇到此问题:
ref_to_link.addEventListener('click', confirmbuy);
我建议您详细了解addEventListener和Unobtrusive Javascript。
答案 2 :(得分:2)
内联处理程序实际上被放入一个函数中,该函数被设置为click事件的处理程序。所以基本上你的代码相当于:
a.addEventListener("click",function(e){
confirmbuy();
})
如您所见,此处理程序不返回false,因此事件正常进行。
答案 3 :(得分:1)
你需要:
onclick="return confirmbuy();"
答案 4 :(得分:1)
更好..
<a href="buy.php" onclick="return confirm('Are You Sure???');">Buy</a>
答案 5 :(得分:1)
修复并删除了不必要的代码:
<a href="buy.php" onclick="return confirm('Are You Sure???');">Buy</a>