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

如何实现输入为空时跳转默认网页?我代码prompt里的取消为何会跳转到其他网页?

<!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 openw=confirm("是否打开窗口?");
        if(openw==true){
            var weburl=prompt("请输入网址:","https://www.imooc.com/");
            if(weburl!=null){
                openw=window.open(weburl,'_blank','width=400,height=500,menubar=no,scrollbars=no');
            }
            else{
                openw=window.open('https://www.imooc.com/','_blank','width=400,height=500,menubar=no,scrollbars=no');
            }
        }
        else{
            alert("ByeBye!");
        }
    }
    // 通过输入对话框,确定打开的网址,默认为 http://www.imooc.com/

    //打开的窗口要求,宽400像素,高500像素,无菜单栏、无工具栏。
    
    
  </script>
 </head>
 <body>
      <input type="button" value="新窗口打开网站" onclick="openWindow()" />
 </body>
</html>

提问者:慕慕4192296 2018-08-15 21:05

个回答

  • lp林大大
    2018-08-17 11:40:04

    首先,因为您的prompt第二参数已存在路径,所以即使您不输入,它也会默认输入已存在,其次当取消时,返回值为null,代码将直接跳转到此行https://img4.mukewang.com/5b764349000133c207920062.jpg,所以将会跳转到您输入的其他网页。

  • qq_望雪_0
    2018-08-16 10:29:36

    var val=prompt();

    if(val==null)

    window.open();

  • katte
    2018-08-16 10:29:25

    输入空的时候返回的不是null,点取消返回的才是null