一个关于JS confirm 确认框的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个关于JS confirm 确认框的问题相关的知识,希望对你有一定的参考价值。

<script type="text/javascript">
var txt=""
function message()

try

adddlert("Welcome guest!")

catch(err)

txt="本页中存在错误。\n\n"
txt+="点击“确定”继续查看本页,\n"
txt+="点击“取消”返回首页。\n\n"
if(!confirm(txt))

document.location.href="/index.html"



</script>

解释下 if(!confirm(txt))这个,然后和下面对比下,我明白下面这个

function show_confirm()

var r=confirm("Press a button!");
if (r==true)

alert("You pressed OK!");

else

alert("You pressed Cancel!");

二者其实是差不多的,上面的if(!confirm(txt))实际相当于
var r=confirm("本页中存在错误。\n\n"+"点击“确定”继续查看本页,\n"+"点击“取消”返回首页。\n\n");
if (r==false)

!是取反,也就是表示当confirm点的是取消的时候,if就会判定为成立。
参考技术A 先说你二段代码,变量r的值本身就是布尔值,而if语句的条件也需要一个布尔值,所以只要if(r)就可以了,你的if(r==true)实际相当于if(true==true),表达式返回的还是true,多此一举了.
再来说confirm方法,该方法返回一个布尔值,!是逻辑非运算符,如果confirm()返回true,那么!confirm()表达式的结果就是!true,也就是false,返过来,如果confirm()返回false,那么!confirm()结果就是true,这个表达式的结果可直接用于if语句的条件,不需要再与常量true或false对比.
参考技术B if(!confirm(txt)) 就是说if(confirm(txt)) 为假,也就是点的取消
if(confirm(txt)) 和if(confirm(txt) == true) 是一样的。

WebDriver API弹出框的处理

一、弹出框的类型

1.Alert:只有一个确认选项

2.Confirm:确认和取消两个选项

3.prompt:输入内容,确认和取消

 

二、弹出框的处理

1.确认:accept

2.取消:dismiss

3.往文本框中写内容:sendKeys

4.获取弹出框的文本内容:getText

 

三、示例

org.openqa.selenium.Alert a =  dr.switchTo().alert();
a.accept();


以上是关于一个关于JS confirm 确认框的问题的主要内容,如果未能解决你的问题,请参考以下文章

js弹窗

js确认框confirm()用法实例详解

用js的confirm弹出一个框 点击确定后如何执行一个php函数?

apache_conf 联系Form7の确认画面时に.is-confirmを付与する

JavaScript中三种弹出式消息提醒的命令是啥?(如:警告,确认,信息输入)

如何用js模拟alert,confirm确认后才提交