var myname=prompt("请输入你的姓名:");
if(myname!=null)
{ alert("你好"+myname); }
else
{ alert("你好 my friend."); }
这段代码我试验过了,点击取消之后,会弹出“你好 ”,并不会弹出“你好 my friend”,所以想问一下,prompt弹出询问框的时候真多是返回nul吗
-----------------------------------------9.21补充------------------------------------------
感谢各位的回答,我刚试了几遍一直都是同样的结果,然后想到是不是浏览器的原因,结果果然是的。在Chrome上点击取消
结果是 “你好 my friend”,但是在Safari上,返回的结果就是“你好 ”,在Stack Overflow查询的结果是很久以前Safari
就开始这样了,在prompt弹出的对话框中,点击取消或者是不输入内容点击确定都会返回空的字符串,所以会出现这种结果。
目前还在学习基础阶段暂时就不深究了,先学下去再说,写在这里希望帮助其他遇到同样问题的同学。
---------------------------------以下是我的代码----------------------------------------
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>testprompt</title>
<script type="text/javascript">
function sayhello()
{
var myname=prompt("请输入你的姓名:");
if(myname!=null)
{
alert("你好"+myname);
}
else
{
alert("你好 my friend.");
}
}
</script>
</head>
<body>
<form>
<input type="button" value="Click on me!" onclick="sayhello()">
</form>
</body>
</html>
----------------------------------------------------------------------------------
Safari的10.0版本修复了这个bug
是返回的null,我在我的电脑上试了一下这段代码,直接点击取消后,返回的是 你好 my friend
赞 有问题就提问才是好码农!
是这样的
亲,你好
点击取消真的是返回null
你的代码我放到我机器上跑了一下,按取消是弹出你好 my friend
如果用户单击提示框的取消按钮,则返回 null。如果用户单击确认按钮,则返回输入字段当前显示的文本。