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

请前辈帮忙看看哪里写错了,改了很多回还是没反应。

function openWindow(){
    var myweb=confirm("是否打开");
    if (myweb==true)
    {var myweb1=prompt("确定打开的网址","http://www.imooc.com/");
    if (myweb1==null)
    window.open("http://www.imooc.com/","width=400px","height=500px")}
    }
    else
    {alert("bye")};
    else
    {alert("bye")};
    }

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

提问者:aurayang 2015-02-28 16:40

个回答

  • 网络首席管理监察官
    2015-02-28 17:36:48
    已采纳

    有三问题

    第一处是:

    第二个if语句的条件有错误。应该写成if(myweb1 != null)

    你把myweb1不等于空,写成了myweb1等于空了。也就是说只要你的输入框中有任何字符,条件都是不成立的。也是你这里为什么无法打开的问题所在。


    第二个问题是,window.open()语句里有问题。


    首先是你格式有问题,最后在写参数的时候,宽高和有无工具栏菜单栏等参数条件是不需要每个都加上双引号的。只需要window.open("url","窗口名称","参数字符串(即宽高有无菜单工具条等参数)")。如果像你这里每个都加引号的话,只有第一个参数生效。具体到你这里就是只有width宽度生效。



    其次,也是最后一个问题:

    window.open();里面的网址,在这里最好写成你的变量myweb1。否则你在弹窗里无论输入任何网址,打开的都永远只会是window.open()里面的“http://www.imooc.com/”

    应该写成:window.open(myweb1,"_blank","width=400,height=500")

  • 网络首席管理监察官
    2015-02-28 18:15:47

    我刚仔细看了下,你这代码还有几大分括号少了和多了。所以你点击没反应。

    首先你更改后仍然有个问题,不等号是!=   你写成了!==  要细心点哦。

    然后说说你点了没反应的问题。

    在第二个if后面,if(myweb1!=null)后面少了个 {        里面的window.open()语句后又多了个 }

    然后在 第一个 else{alert("bye")}后面   再添加个 }就行了。

    总共是三处少了括号或者多了括号。 以后写代码一定一定要细心。括号或者双引号之类的一定要养成顺手打一对,然后再在其中输入内容。不要先打一边,然后把东西写完再打另一边括号。这样非常容易遗漏。


    我刚才在第一次回答的时候就没仔细看,结果括号就没注意。然后第二次你说点开没反应我仔细看的时候。可是花了点小力气才给你找出三处括号所在的。一定要养成良好的编码习惯和代码缩进。不然以后自己在bug调试的时候很难找出问题所在。你在接手别人代码,别人接手你代码的时候。也会非常棘手。




    修改后如下:

        function openWindow(){
        var myweb=confirm("是否打开");
        if (myweb==true){
            var myweb1=prompt("确定打开的网址","http://www.imooc.com/");
            if (myweb1!==null){
            window.open("myweb1","width=400px,height=500px")
        }else{alert("bye")}
    }
        else
        {alert("bye")}
        }

     

  • lymo
    2015-02-28 18:13:14

    <script type="text/javascript">

    function openWindow(){

        var myweb=confirm("是否打开");

        if (myweb==true)

        {var myweb1=prompt("确定打开的网址","http://www.imooc.com/");

            if (myweb1 != null)

            {window.open(myweb1,"_parent");

            }else{alert("bye");}

        }else{alert("bye");}

    }

     </script> 

     </head> 

     <body> 

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

     </body>

  • aurayang
    2015-02-28 17:43:59

    <script type="text/javascript"> 
        function openWindow(){
        var myweb=confirm("是否打开");
        if (myweb==true)
        {var myweb1=prompt("确定打开的网址","http://www.imooc.com/");
        if (myweb1!==null)
        window.open("myweb1","width=400px,height=500px")}
        }
        else
        {alert("bye")};
        else
        {alert("bye")};
        }

      </script>