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

进来看看我这个为啥点确定,最后还会出现警告框?

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>close()</title>
  <script type="text/javascript">
  function a()
  {
  var b=confirm("你确定打开慕课吗?")
  if(b==true)  
  {window.open('http://www.imooc.com','_blank','width=300,height=200,menubar=no,toolbar=no,')}
else if(c!=null)
var c=prompt("请输入你喜欢的网址:");
{window.open(c,'_blank','width=300,height=200,menubar=no,toolbar=no,')}
else
{alert("真的没有喜欢的网址吗?")}
  }
  </script>
</head>
<body>
<input type=submit  onClick="a()" value="点我点我">
</body>
</html>


提问者:a746785570 2015-03-02 15:03

个回答

  • Lesty
    2015-03-04 16:27:27
    已采纳

    分享下我的看法吧:

    1. 你没有理解题意,confirm只是询问用户是否接受弹出消息窗口,也就是prompt窗口

    2. 顺着你的思路的话,你的else if语句判断条件出错了,应该是else if(b != null)

    3. 而且你的else if后面要紧跟花括号啊,你的花括号掉到下一行了,那么就只执行了var c=prompt("请输入你喜欢的网址:");语句

    4. 你在这里强行用else if真是没必要,因为confirm返回值只有true和false,你已经判断过为true的情况了,直接else就可以了

    if(b == true) {
        window.open('http://www.imooc.com','_blank','width=300,height=200,menubar=no,toolbar=no,')
    }
    else {
        var c = prompt("请输入你喜欢的网址:","http://www.imooc.com");
        if(c != null) {
            window.open(c,'_blank','width=300,height=200,menubar=no,toolbar=no,')
        }
        else {
            alert("真的没有喜欢的网址吗?");
        }
    }

    5. 代码缩进格式可以规范点哦

  • Lesty
    2015-03-04 16:13:14

        function openWindow() {
            var answer = confirm("是否弹出对话框?");
            if(answer == true) {
                // 设置默认网址为百度
                var website = prompt("请输入你想打开的网站:","http://www.baidu.com");
                if(website != null) {
                    window.open(website,"_blank","width=400,height=500,menubar=no,toolbar=no");
                }
                else {
                    // 如果用户点取消,将触发该提示
                    alert("好吧,什么都没有发生过··");
                }
            }
        }

    我是这么写的,互相学习

  • 悟道参禅
    2015-03-02 17:16:33

    else if 后面怎么这样写