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

求助,我这样写为什么不能直接关闭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 mymessage=confirm("是否打开新的网站?");

    var myinput;

    if(mymessage==true)

    // 新窗口打开时弹出确认框,是否打开

    {

        myinput=prompt("请输入网站:");

        if(myinput!="")

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

        else if(myinput=="")

        window.open('www.imooc.com','_blank','width=400,height=500,menubar=no,toolbar=no');

        else myinput.close();

    }

    else mymessage.close();

    }

    // 通过输入对话框,确定打开的网址,默认为 http://www.imooc.com/


    //打开的窗口要求,宽400像素,高500像素,无菜单栏、无工具栏。

    

    

  </script> 

 </head> 

 <body> 

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

 </body>

</html>


正在回答

3 回答

所以prompt()运行后,默认都是else, 
而每次prompt()窗口结束前都会去运行这个else中的语句(必定执行的语句),所以当你在窗口点击取消按钮后(窗口结束后运行alert语句),运行结果为以上结果。 

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

你的myinput的值,只有两种可能,一种是空值,一种是非空值。但是你写了三个分支。。。

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

qq_莫懒_0

myinput==null时表明你按下了取消键,myinput==""时表明文本为空。
2019-07-28 回复 有任何疑惑可以回复我~

把else myinput.close();改成if window.close();试试

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

半吊子渔者 提问者

还是不行,用if window.close()和else window.close(),点击取消都会出现一个Null的窗口
2019-07-23 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

求助,我这样写为什么不能直接关闭prompt

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