如何制作其中一个超链接,当您点击它时,它会显示一个弹出窗口,询问“你确定吗?”
<INPUT TYPE="Button" NAME="confirm" VALUE="???" onClick="message()">
我已经有一个message()函数正常工作。我只需要知道超链接的输入类型是什么。
答案 0 :(得分:23)
<a href="http://somewhere_else" onclick="return confirm()">
当用户点击链接时,将调用confirm
函数。如果confirm函数返回false
,则取消链接遍历,如果返回true,则遍历链接。
答案 1 :(得分:15)
<a href="http://something.com" onclick="return confirmAction()">try to click, I dare you</a>
具有功能
function confirmAction(){
var confirmed = confirm("Are you sure? This will remove this entry forever.");
return confirmed;
}
(您也可以立即返回确认,我为了便于阅读而将其分开)
在FF,Chrome和IE中测试
答案 2 :(得分:2)
正如Nahom所说,除了我将javascript:message()
调用直接放在href部分(然后不需要onclik)。
注意:在 onClick 中保留JavaScript调用有一个好处:在 href 属性中,如果用户没有,您可以输入一个URL已启用JavaScript。这样,如果他们有JS,你的代码就会运行。如果他们不这样做,他们就会被指示启用它(可能)。
现在,您的message
例程不仅要问问题,还要使用答案:如果是肯定的,则必须在表单上调用submit()来发布表单。您可以在调用中传递this
以便于获取表单。
就个人而言,我会选择一个按钮(显示输入标签),而不是一个简单的链接来完成这个过程:它会为用户使用更熟悉的范例。
[编辑]由于我更愿意验证我给出的答案,我写了一个简单的测试:
<script type="text/javascript" language="JavaScript">
function AskAndSubmit(t)
{
var answer = confirm("Are you sure you want to do this?");
if (answer)
{
t.form.submit();
}
}
</script>
<form action="Tests/Test.html" method="GET" name="subscriberAddForm">
<input type="hidden" name="locationId" value="2721"/>
<input type="text" name="text" value="3.1415926535897732384"/>
<input type="button" name="Confirm" value="Submit this form" onclick="AskAndSubmit(this)"/>
</form>
是的,提交只是在这里重新加载页面...仅在FF3中测试。
[编辑]在评论中提出了以下建议......: - )
答案 3 :(得分:0)
<a href="#" onclick="message(); return false;">???</a>
只有当点击无需导航用户到另一个页面时,此答案才会正常。