JavaScript弹出对话框的三种方式


Posted in Javascript onMarch 23, 2016

学习过js的小伙伴会发现,我们在一些实例中用到了alert()方法、prompt()方法、prompt()方法,他们都是在屏幕上弹出一个对话框,并且在上面显示括号内的内容,使用这种方法使得页面的交互性更精彩,实际上我们经常会在进行网页浏览时简单这种类型的对话框,在用户与应用程序进行双向交流时,经常要用到对话框。

javascript的三种对话框是通过调用window对象的三个方法alert(),confirm()和prompt()来获得,可以利用这些对话框来完成js的输入和输出,实现与用户能进行交互的js代码。

今天小编就来简单介绍一下js中的三种弹出对话框,小编先单独对这几个方法进行详细讲解,接着,将这几个方法进行对比,好了,开始我们的js之旅吧`(*∩_∩*)′......

第一种:alert()方法

alert()方法是这三种对话框中最容易使用的一种,她可以用来简单而明了地将alert()括号内的文本信息显示在对话框中,我们将它称为警示对话框,要显示的信息放置在括号内,该对话框上包含一个“确认”按钮,用户阅读完所显示的信息后,只需单击该按钮就可以关闭对话框。下面来看一个使用alert()方法的例子,代码如下所示:

<html>
<head>
<title>编写html页面</title>
<script language="javascript"> //JavaScript脚本标注
alert("上联:山石岩下古木枯");//在页面上弹出上联
alert("下联:白水泉边少女妙");//在页面上弹出下联
</script>
</head>
</html>

执行上面的小例子,在页面上弹出对话框并显示一句话“上联:山石岩下古木枯”,如下所示:

JavaScript弹出对话框的三种方式

接着,单击“确认”按钮后再显示第二个对话框并显示“白水泉边少女妙!”,效果如下;

JavaScript弹出对话框的三种方式

在页面上弹出对话框并显示一句话“上联:山石岩下古木枯”,单击“确认”按钮后再显示第2个对话框并显示“白水泉边少女妙!”我们来分析一下这个小例子:

a、在<script>脚本块中两次调用alert()方法;

b、在每个alert()括号内分别添加了一段文本信息,运行出现如下图所示的页面,当使用鼠标单击页面上的“确定”按钮后,出现第二个页面,再点击“确定”按钮后就关闭页面上的对话框。 注意:两个对话框是分别显示的,而不是一个覆盖另一个,这是因为js实在执行完第一个alert()并等到用户点击“确认”按钮之后才去执行第二个alert()的。

alert()是js的window对象的一个方法,调用时可以写成window.alert(),也可以写成alert(),功能都是产生一个带确认按钮的对话框,上面显示括号内的信息,

第二种:confirm()方法

confirm()方法与alert()方法的使用十分类似,不同点是在该种对话框上除了包含一个“确认”按钮外,还有一个“取消”按钮,这种对话框称为确认对话框,在调用window对象的confirm()方法以及后面介绍的prompt()方法时也可以不写window。下面来看一个关于confirm()的小例子,代码如下所示:

<html>
<head>
<title>编写html页面</title>
<script language="javascript"> //js脚本标注
confirm("上联:一但重泥拦子路;下联:两岸夫子笑颜回"); //在页面上弹出确认对话框
</script>
</head>
</html>

显示效果如下:

JavaScript弹出对话框的三种方式

分析一下这个小例子:

a、在<script>脚本块中添加confirm()方法、

b、在confirm()括号内添加了一段文本信息,运行效果如上图所示,如果用户单击“确认”按钮,则confirm()方法会返回true,如果用户单击“取消”按钮,则confirm()方法会返回false,无论用户选择哪个按钮,都会关闭对话框,而继续执行javascript代码。单击“确认”或“取消”按钮都是关闭对话框,似乎没有什么区别,实际上,无论是单击“确认”或“取消”按钮都会返回一个布尔值,这样就 可以再幕后有一些js代码来发挥按钮的作用,请大家看下面的例子,体会使用confirm()返回布尔值的妙处。代码如下:

<html>
<head>
<title>编写html页面</title>
<script language="javascript"> //js脚本标注
var con;
con=confirm("你喜欢玫瑰花么?"); //在页面上弹出对话框
if(con==true)alert("非常喜欢!");
else alert("不喜欢!");
</script>
</head>
</html>

我们来分析一下这个小例子:

a、在<script>脚本块中声明了一个变量con。

b、con=confirm()一句将confirm()方法返回的布尔值赋给con。

c、通过if语句来使用con的值,分别执行不同的语句;执行的效果如下:

JavaScript弹出对话框的三种方式

如果单击页面的确认框上的“确定”按钮后,出现如下图所示的页面:

JavaScript弹出对话框的三种方式

如果单击“取消”按钮,则出现如下图所示的页面:

JavaScript弹出对话框的三种方式

第三种: prompt()方法

alert()方法和confirm()方法的使用十分类似,都是仅仅显示已有的信息,但用户不能输入自己的信息,但是prompt()可以做到这点,她不但可以显示信息,而且还提供了一个文本框要求用户使用键盘输入自己的信息,同时她还包含“确认”或“取消”两个按钮,如果用户“确认”按钮,则prompt()方法返回用户在文本框中输入的内容(是字符串类型)或者初始值(如果用户没有输入信息);如果用户单击“取消”按钮,则prompt()方法返回null,我们称这种对话框为提示框,在这三种对话框中,她的交互性最好。

看下面一个小例子:在页面上两次弹出提示对话框,使用户能输入有关信息,代码如下:

<html>
<head>
<title>编写html页面</title>
<script language="javascript"> //js脚本标注
var name,age;
name=prompt("请问你叫什么名字?"); /*在页面上弹出提示对话框,
将用户输入的结果赋给变量name*/
alert(name); //输出用户输入的信息
age=prompt("你今年多大了?","请在这里输入年龄"); /*在页面上再一次弹出提示对话框,
讲用户输入的信息赋给变量age*/
alert(age)//输出用户输入的信息
</script>
</head>
</html>

运行上面的程序,效果如下所示:

JavaScript弹出对话框的三种方式

点击确定,会有这么惊喜nie:

JavaScript弹出对话框的三种方式

我们再点击确定按钮:

JavaScript弹出对话框的三种方式

再点击确定按钮:

JavaScript弹出对话框的三种方式

分析一下这个小例子

a、在<script>脚本块中添加了两个prompt()方法。

b、在第一个prompt()括号内添加了一段文本信息。

c、name=prompt()一句是将用户在文本框中输入的信息赋给变量name。

alert()、confirm()、prompt()的区别和联系:

警告框alert()

alert是警告框,只有一个按钮“确定”无返回值,警告框经常用于确保用户可以得到某些信息。当警告框出现后,用户需要点击确定按钮才能继续进行操作。语法:alert("文本")。

确认框confirm()

confirm是确认框,两个按钮,确定或者取消,返回true或false。确认框用于使用户可以验证或者接受某些信息。当确认框出现后,用户需要点击确定或者取消按钮才能继续进行操作。如果用户点击确认,那么返回值为 true。如果用户点击取消,那么返回值为 false。语法:confirm("文本")

提示框prompt()

prompt是提示框,返回输入的消息,或者其默认值提示框经常用于提示用户在进入页面前输入某个值。当提示框出现后,用户需要输入某个值,然后点击确认或取消按钮才能继续操纵。如果用户点击确认,那么返回值为输入的值。如果用户点击取消,那么返回值为 null。语法:prompt("文本","默认值")

本文主要介绍了javascript中的三种弹出对话框,分别是alert()方法,confirm()方法,prompt()方法,小编先对这几个方法进行了详细的单独介绍,紧接着,将这几个方法进行对比,除这三个弹出对话框之外,我们还可以使用document.write()直接将消息显示在页面上,BS学习,未完待续......同时感谢大家一直以来对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript FormatNumber函数实现方法
Dec 30 Javascript
JavaScript 私有成员分析
Jan 13 Javascript
jQuery-ui中自动完成实现方法
Jun 10 Javascript
一个报数游戏js版(约瑟夫环问题)
Aug 05 Javascript
jQuery实现文件上传进度条特效
Aug 12 Javascript
JavaScript子窗口调用父窗口变量和函数的方法
Oct 09 Javascript
React组件refs的使用详解
Feb 09 Javascript
使用webpack搭建react开发环境的方法
May 15 Javascript
JS实现页面数据懒加载
Feb 13 Javascript
Vue + Scss 动态切换主题颜色实现换肤的示例代码
Apr 27 Javascript
Vue-CLI 3 scp2自动部署项目至服务器的方法
Jul 24 Javascript
js+audio实现音乐播放器
Sep 13 Javascript
JS随机洗牌算法之数组随机排序
Mar 23 #Javascript
JavaScript学习笔记之取数组中最大值和最小值
Mar 23 #Javascript
JavaScript学习笔记之数组去重
Mar 23 #Javascript
JavaScript学习笔记之数组随机排序
Mar 23 #Javascript
JavaScript学习笔记之数组求和方法
Mar 23 #Javascript
JavaScript学习笔记之数组的增、删、改、查
Mar 23 #Javascript
高效利用Angular中内置服务$http、$location等
Mar 22 #Javascript
You might like
php 常用类整理
2009/12/23 PHP
php使用PDO事务配合表格读取大量数据插入操作实现方法
2017/02/16 PHP
PHP编程快速实现数组去重的方法详解
2017/07/22 PHP
laravel添加前台跳转成功页面示例
2019/10/22 PHP
php自动加载代码实例详解
2021/02/26 PHP
javascript模仿msgbox提示效果代码
2008/06/10 Javascript
js操作select控件的几种方法
2010/06/02 Javascript
javascript的propertyIsEnumerable()方法使用介绍
2014/04/09 Javascript
javascript中定义类的方法汇总
2014/12/28 Javascript
Jquery中的$.each获取各种返回类型数据的使用方法
2015/05/03 Javascript
关于JS中setTimeout()无法调用带参函数问题的解决方法
2016/06/21 Javascript
微信支付 JS API支付接口详解
2016/07/11 Javascript
酷! 不同风格页面布局幻灯片特效js实现
2021/02/19 Javascript
Jquery Easyui日历组件Calender使用详解(23)
2016/12/18 Javascript
vue 自定义右键样式的实例代码
2019/11/06 Javascript
简单了解Vue computed属性及watch区别
2020/07/10 Javascript
Vue生命周期activated之返回上一页不重新请求数据操作
2020/07/26 Javascript
详解微信小程序动画Animation执行过程
2020/09/23 Javascript
Python2.x版本中cmp()方法的使用教程
2015/05/14 Python
深入理解python中的atexit模块
2017/03/07 Python
Python设计模式之代理模式简单示例
2018/01/09 Python
对PyTorch torch.stack的实例讲解
2018/07/30 Python
Python3网络爬虫开发实战之极验滑动验证码的识别
2019/08/02 Python
Pycharm小白级简单使用教程
2020/01/08 Python
python如何将两张图片生成为全景图片
2020/03/05 Python
Django框架models使用group by详解
2020/03/11 Python
pycharm下配置pyqt5的教程(anaconda虚拟环境下+tensorflow)
2020/03/25 Python
Python return语句如何实现结果返回调用
2020/10/15 Python
python切片作为占位符使用实例讲解
2021/02/17 Python
Jdbc数据访问技术面试题
2012/03/30 面试题
银行贷款承诺书
2014/03/29 职场文书
社区活动总结报告
2014/05/05 职场文书
学习党章心得体会2016
2016/01/15 职场文书
python编程实现清理微信重复缓存文件
2021/11/01 Python
MySQL学习必备条件查询数据
2022/03/25 MySQL
mysql数据库如何转移到oracle
2022/12/24 MySQL