笨鸟不倒
2016-03-11 02:18
var con = confirm("确定打开新窗口吗?");
var prom = prompt('确定打开网址:','http://www.imooc.com');
// 新窗口打开时弹出确认框,是否打开
if(con==true){
// 通过输入对话框,确定打开的网址,默认为 http://www.imooc.com/
if(prom!==null){
//打开的窗口要求,宽400像素,高500像素,无菜单栏、无工具栏。
window.open(prom,'_blank','width=400px,height=500px,menubar=no,toolbar=no');
}
else{
alert("请输入并确定您要打开的网址!");
}
}
else{
alert("您取消打开新窗口!");
}
我取消第1条判断时,为什么还会继续执行里面的判断呢?我哪里写错了?
当判断是否打开新窗口时,我否定,应该执行 alert("您取消打开新窗口!"); 才对吧?
你在if外先定义的 con 和 prom变量:
var con = confirm("确定打开新窗口吗?");
var prom = prompt('确定打开网址:','http://www.imooc.com');
所以在执行的时候 顺序执行,先弹出确认对话框con被赋值,对话框关闭,再弹出输入对话框prom被赋值,对话框关闭。然后con prom得到值以后再进行你的if判断。
你应该把prom的赋值 放在 if(con)的判断里 才对。
JavaScript入门篇
739817 学习 · 9566 问题
相似问题