单击链接时使用JavaScript显示确认弹出窗口

时间:2008-11-16 07:47:43

标签: javascript html user-interface popup

如何制作其中一个超链接,当您点击它时,它会显示一个弹出窗口,询问“你确定吗?”

<INPUT TYPE="Button" NAME="confirm" VALUE="???" onClick="message()">

我已经有一个message()函数正常工作。我只需要知道超链接的输入类型是什么。

4 个答案:

答案 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>

只有当点击无需导航用户到另一个页面时,此答案才会正常。