为了账号安全,请及时绑定邮箱和手机立即绑定

为什么点击取消还会弹出窗口呢?

<!DOCTYPE html>

<html>

 <head>

  <title> new document </title>  

  <meta http-equiv="Content-Type" content="text/html; charset=gbk"/>   

  <script type="text/javascript">  

    function openWindow(){

var newwindow=confirm("是否打开新窗口?");

if(newwindow){

     var url=prompt("请输入您希望打开的网址"," http://www.imooc.com/");  

     window.open('add','_blank','width=400,height=500,menubar=no,toolbar=no, status=no,scrollbars=no')  ; 

  }

  else;

    }

  </script> 

 </head> 

 <body> 

 <input type="button" value="新窗口打开网站" onclick="openWindow()" /> 

 </body>


正在回答

5 回答

confirm那里的取消是可以取消的,但是prompt的返回值是默认值或者你的输入值,并不是null,所以点击取消就相当于默认,至于confirm的判断,没有必要写成if(newwindow==true),直接写成if(newwindow)即可,因为为真即可进入if,这是编程的基础知识了。

0 回复 有任何疑惑可以回复我~
#1

helllovebody

抱歉,刚才用document.write试了一下,发现prompt点取消确实返回null,如果不加判断,就会打开一个空网页
2017-08-03 回复 有任何疑惑可以回复我~

因为你的判断永远为真,点啥都会弹

0 回复 有任何疑惑可以回复我~

因为你只判断了。newwindow,而没有判断url

<!DOCTYPE html>
<html>
 <head>
  <title> new document </title>  
  <meta http-equiv="Content-Type" content="text/html; charset=gbk"/>   
  <script type="text/javascript">  
    
    function openWindow(){
        var a = confirm('是否打开一个新的网页?');
        if( a === true ){
            var b = prompt('请输入要打开的网址','http://www.imooc.com/');
            if(b !== ''){
             window.open(b,'_blank','width = 400,height = 500,menubr=no,toolbar=no,scrollbars = yes');               
            }
        }
    }
  </script> 
 </head> 
 <body> 
      <input type="button" value="新窗口打开网站" onclick="openWindow()" /> 
 </body>
</html>


0 回复 有任何疑惑可以回复我~


if(url != null){
                   window.open(url,'_blank','width=400,height=500,menubar=no,toolbar=no');   
            }

0 回复 有任何疑惑可以回复我~

if(newwindow)这里没有加判断条件newwindow==ture

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么点击取消还会弹出窗口呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信