问答详情
源自:2-4 JavaScript-提问(prompt 消息对话框)

当返回值为null时怎么写?

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>prompt</title>
  <script type="text/javascript">
  function rec(){
	var score; //score变量,用来存储用户输入的成绩值。
	score =prompt("请输入你的成绩");
	if(score>=90)
	{
	   document.write("你很棒!");
	}
	else if(score>=75)
    {
	   document.write("不错吆!");
	}
	else if(score>=60)
    {
	   document.write("要加油!");
    }
    else if(score<60)
	{
       document.write("要努力了!");
	}
    else if(score==null)
    {
        document.write("未录入成绩");
    }
  }
  </script>
</head>
<body>
    <input name="button" type="button" onClick="rec()" value="点击我,对成绩做评价!" />
</body>
</html>

原本代码是 点击取消后,显示的是“要努力了”;我想对直接点击取消的和未录入时点击确定的都有个不同显示,做的尝试如上。

最后一个else if,不管我写成score=null还是score="null"都没有用,显示的还是“要努力了”,请问正确的该怎样写?

如果是将直接点击取消和未录入时点击确定这两种情况分开,各自应该怎么写?

拜托赐教!

提问者:星风飞行 2015-10-16 16:47

个回答

  • Perona
    2015-10-16 17:13:27
    已采纳

    prompt() 方法用于显示可提示用户进行输入的对话框。

    如果用户单击提示框的取消按钮,则返回 null。如果用户单击确认按钮,则返回输入字段当前显示的文本。

    在用户点击确定按钮或取消按钮把对话框关闭之前,它将阻止用户对浏览器的所有输入。在调用 prompt() 时,将暂停对 JavaScript 代码的执行,在用户作出响应之前,不会执行下一条语句。

    那么这里要确认是否score为null或者未输入,应该是先判断是否点击了取消按钮或者未录入,如果是的话执行输出未录入,否的话才进行数值判断。

    代码如下:

    <!DOCTYPE HTML>
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>prompt</title>
        <script type="text/javascript">
            function rec(){
                var score; //score变量,用来存储用户输入的成绩值。
                score =prompt("请输入你的成绩");
                if(score==null||score==""){
                    document.write("未录入成绩");
                }else {
                    if (score >= 90) {
                        document.write("你很棒!");
                    }
                    else if (score >= 75) {
                        document.write("不错吆!");
                    }
                    else if (score >= 60) {
                        document.write("要加油!");
                    }
                    else {
                        document.write("要努力了!");
                    }
                }
            }
        </script>
    </head>
    <body>
    <input name="button" type="button" onClick="rec()" value="点击我,对成绩做评价!" />
    </body>
    </html


  • 小白r
    2015-10-22 16:29:07

    感觉像是判断的先后问题