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测试
正如 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 中测试。
[编辑]遵循评论中的建议...:-)