<!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"都没有用,显示的还是“要努力了”,请问正确的该怎样写?
如果是将直接点击取消和未录入时点击确定这两种情况分开,各自应该怎么写?
拜托赐教!
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
感觉像是判断的先后问题