问答详情
源自:2-7 编程练习

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

<!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>


提问者:这是一个很酷的昵称 2017-08-01 19:37

个回答

  • helllovebody
    2017-08-03 18:18:49
    已采纳

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

  • 我要SSR
    2017-08-02 15:51:09

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

  • 信者得救
    2017-08-02 10:42:14

    因为你只判断了。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>


  • qq_剪心儿_03201254
    2017-08-01 21:56:53


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

  • 慕移动8135349
    2017-08-01 21:37:15

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