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

10 html javascript user-interface popup

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

<INPUT TYPE="Button" NAME="confirm" VALUE="???" onClick="message()">
Run Code Online (Sandbox Code Playgroud)

我已经有一个message()函数正在运行.我只需要知道超链接的输入类型是什么.

Jac*_*esB 23

<a href="http://somewhere_else" onclick="return confirm()">
Run Code Online (Sandbox Code Playgroud)

当用户单击链接时,confirm将调用该函数.如果confirm函数返回false,则取消链接遍历,如果返回true,则遍历链接.


mar*_*cgg 15

<a href="http://something.com" onclick="return confirmAction()">try to click, I dare you</a>
Run Code Online (Sandbox Code Playgroud)

与功能

function confirmAction(){
      var confirmed = confirm("Are you sure? This will remove this entry forever.");
      return confirmed;
}
Run Code Online (Sandbox Code Playgroud)

(您也可以立即返回确认,我为了便于阅读而将其分开)

经过FF,Chrome和IE测试


Phi*_*Lho 2

正如 Nahom 所说,除了我会将javascript:message()调用直接放在 href 部分中(然后不需要 onclik)。

注意:将 JavaScript 调用保留在onClick中有一个好处:在href属性中,如果用户没有启用 JavaScript,您可以输入要访问的 URL。这样,如果他们确实有 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>
Run Code Online (Sandbox Code Playgroud)

是的,提交只需在此处重新加载页面...仅在 FF3 中测试。

[编辑]遵循评论中的建议...:-)