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

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

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>

正在回答

6 回答

有三问题

第一处是:

第二个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")

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

aurayang 提问者

谢谢前辈,不过我按照您说的修改后,看结果,还是无反应。 我从点击<input type="button" value="新窗口打开网站" onclick="openWindow()" /> 这个按钮开始就没有再有任何反应。
2015-02-28 回复 有任何疑惑可以回复我~
#2

网络首席管理监察官 回复 aurayang 提问者

已经写在回复里面了。你还有三处地方少了或者多了半边大括号。再加上之前第一次我指出的三处问题。你这短短几行代码就已经出现六处问题了。以后写代码,一定千万要细心。
2015-02-28 回复 有任何疑惑可以回复我~
#3

网络首席管理监察官 回复 aurayang 提问者

在五楼的回复里。
2015-02-28 回复 有任何疑惑可以回复我~

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

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

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

在第二个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")}
    }

 

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

网络首席管理监察官

不对,复制修改你代码的时候只改了括号,不等号忘了改了。你别照抄。把!== 改成!=
2015-02-28 回复 有任何疑惑可以回复我~
#2

aurayang 提问者

万分感谢,原来是这样,看了半天都看晕了。小白再次感谢前辈不厌其烦的帮忙指正
2015-02-28 回复 有任何疑惑可以回复我~
#3

网络首席管理监察官 回复 aurayang 提问者

不用谢。以后一定要细心呀。加油!
2015-02-28 回复 有任何疑惑可以回复我~
#4

menghuanbaolei 回复 网络首席管理监察官

你这名字屌爆了
2015-02-28 回复 有任何疑惑可以回复我~
查看1条回复

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

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

aurayang 提问者

谢谢前辈指点
2015-02-28 回复 有任何疑惑可以回复我~

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

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

举报

0/150
提交
取消

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

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