在这篇快速文章中,我们将讨论如何使用 javascript 显示确认对话框。确认对话框允许您根据用户输入执行操作。
JavaScript 是 Web 的核心技术之一。大多数网站都使用它,所有现代网络浏览器都支持它,无需插件。在 Envato Tuts+,我们正在讨论可以帮助您进行日常 javaScript 开发的技巧和窍门。
作为一名 JavaScript 开发人员,您经常需要以是或否问题的形式获取用户输入,并在此基础上执行某些操作。具体来说,有些操作是敏感的,无法撤消的,如果用户真的要执行该操作,你想警告或确认用户,不要误操作。例如,如果有一个删除链接允许您从数据库中删除一个实体,您希望与用户确认他们是否真的要删除它。因此,即使用户误点击了删除链接,他们至少也有机会取消它。
在这篇文章中,我将向您展示在 JavaScript 中确认用户操作的两种方法:使用confirm
方法和使用隐藏确认div
。
confirm
方法的语法
在 JavaScript 中,您可以使用对象的confirm
方法window
来显示一个对话框,并等待用户确认或取消它。今天,我们将通过一个真实的例子来讨论它是如何工作的。
在本节中,我们将介绍该window.confirm
方法的语法。
Confirm 方法的语法如下所示:
var result = window.confirm(message);
Confirm 方法采用单个字符串参数,您可以传递要在对话框中显示的消息。这是一个可选参数,但您需要传递一个合理的消息——否则将显示一个带有是和否选项的空白对话框,并且可能对您的访问者没有任何意义。通常,消息以问题的形式出现,并向用户提供两个选项可供选择。
在对话框中,有两个按钮:OK和Cancel。如果用户点击OK按钮,confirm方法返回true
,如果用户点击cancel按钮,confirm方法返回false
。所以可以通过confirm方法的返回值知道用户的选择。(如果你想让按钮说一些不同的东西,比如Yes和No,我会在这篇文章的底部告诉你怎么做。)
由于window
对象总是隐式的,也就是说它的属性和方法总是在范围内,你也可以调用该confirm
方法,如下面的代码片段所示。
var result = confirm(message);
重要的是要注意确认对话框是模态的和同步的。因此,JavaScript 代码执行在对话框显示时停止,并在用户通过单击“确定”或“取消”按钮关闭对话框后继续执行。
以上是该confirm
方法语法的概述。在下一节中,我们将通过一个真实世界的示例。
confirm
该方法的真实示例
在本节中,我们将通过一个真实的示例演示如何confirm
在 JavaScript 中使用该方法。
看看下面的例子。
当用户点击删除我的个人资料时!按钮,它调用该deleteProfile
函数。在该deleteProfile
函数中,我们调用了confirm 方法,该方法将确认对话框呈现给用户。
最后,如果用户在该确认对话框中单击“确定”按钮,我们将继续将用户重定向到该页面,该页面将执行删除操作。另一方面,如果用户点击取消按钮,我们不会做任何事情。JavaScript 执行会暂停,直到用户做出选择并关闭确认对话框。/deleteProfile.php
这就是你如何使用 JavaScript 中的确认方法来显示一个是或否选择对话框。
使用隐藏的 div 确认是或否
confirm
使用该方法获得用户确认存在一些缺点。一是确认对话框不会成为您的应用程序或网站 UI 的一部分。它不会使用您的品牌或配色方案。它也无法自定义,例如,如果您想说Yes或No而不是OK和Cancel。最后,确认对话框是模态的,所以只要它正在显示,用户将无法与应用程序界面的任何其他部分进行交互。
另一种确认是或否的方法是在页面上使用隐藏的 div。看看下面的例子:
在这个例子中,我们有一个隐藏的 id 确认 div confirm
。要显示 div,我们只需将其hidden
属性设置为true
. 我们设置hidden
为何true
时要显示确认信息,然后false
再次设置为隐藏它。
如您所见,这种确认是或否的方法使我们比该window.confirm
方法具有更大的灵活性和定制性。
结论
今天,我们讨论了两种在 JavaScript 中获得用户确认的方法。首先我们看最简单的方法:window.confirm
方法。但是,这并不能创造出色的用户体验。然后我向您展示了如何使用隐藏的 div 来获得用户确认,并更好地控制确认的外观和行为。