HTML - 表单提交按钮确认对话框

23

这是一段通用的表单代码

<form name="search_form" action="" method="POST">
<input type="text" name="search_text">          
<input type="submit" name="search_bt" value="Go">
</form>

有没有一种方法可以有一个确认对话框,上面写着'是'\'否'或'确认'\'取消'等等...

我想到的一种方法是使用CSS层和JavaScript和Php...在按钮上有一个php isset(){}检查,当设置后显示一个带有两个按钮的Div,这些按钮的onclick=func() JS函数有一个php变量(flag)设置,然后我可以使用if(flag){}来跳过某些代码或继续执行...

好吧,这种方法可以工作,而且优点是我可以拥有一个很好主题的对话框,但我只是想让自己的生活更容易一些...

4个回答

74

你也可以在表单标签本身中用一行代码来实现

<form action="exampleHandlerPage.php" method="post" onsubmit="return confirm('Are you sure you want to submit?');">

5
如果一个表单中有两个或更多个提交按钮:
<input type="submit" value="Edit">
<input type="submit" name="delete" value="Delete" onclick="return confirm('Confirm, please.');">

对话框只会在单击“删除”按钮时显示。

2
使用原始的JavaScript而不需要任何div...
你可以有这个函数。
function confirmSubmit() {
  if (confirm("Are you sure you want to submit the form?")) {
    document.getElementById("FORM_ID").submit();
  }
  return false;
}

你可以从表单的 onsubmit 事件或按钮的 onclick 事件中调用该函数。
顺便说一下,你听说过 JQuery 吗?它是一个带有许多有用功能的 JS 库,能够让你以更加舒适美观的方式编写 JavaScript。
作为你想要完成的事情的示例,请参考 JQuery确认对话框

我了解jQuery,但不是很熟练。我很想用jQuery替换任何JS的东西...请给我一个示例或样本。 - Moon
jQuery虽然是JS,但还是有点不同呢;p - Moon
拿这个例子:http://jqueryui.com/demos/dialog/#modal-confirmation,记住,在这个过渡中你有StackOverflow可以帮助你...这里有很多JQuery大师... - Garis M Suero
谢谢GURU JI...所有这些jQ ui项目...我该如何更改它们的主题以适应我的网站设计,使其不像一件宽松的晚礼服;p - Moon
大师在哪里?JQuery是基于CSS的,所以您总是可以编辑这些CSS。无论如何,为了您的便利,JQuery的开发人员制作了一个ThemeRoller应用程序,您可以在其中选择主题和/或选择主题...只需访问此链接:http://jqueryui.com/themeroller/ - Garis M Suero

-2
<form action="<form handler>" method="post" onsubmit="return confirm('Are you sure you want to submit?')">

这段代码是否可以将JavaScript存储在不同于“form”标签的位置,替换掉原有的代码?
return confirm(...)

使用类似于

return sendata(...)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接