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

prompt弹出的询问框,点击取消真的是返回null吗

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弹出的对话框中,点击取消或者是不输入内容点击确定都会返回空的字符串,所以会出现这种结果。

目前还在学习基础阶段暂时就不深究了,先学下去再说,写在这里希望帮助其他遇到同样问题的同学。

57e1f5e400013f9405000177.jpg

57e1f5e50001e69405000211.jpg

---------------------------------以下是我的代码----------------------------------------

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

提问者:QuincyHan 2016-09-20 19:02

个回答

  • 慕侠9556414
    2016-09-20 19:33:26
    已采纳

    是返回的null,我在我的电脑上试了一下这段代码,直接点击取消后,返回的是 你好 my friend

  • qq_我还是个孩子_0
    2016-10-13 22:11:44

    赞  有问题就提问才是好码农!

  • 一条鲳鳊
    2016-09-20 19:49:18

    是这样的

  • FaithIMC
    2016-09-20 19:38:00

    亲,你好

    点击取消真的是返回null

    你的代码我放到我机器上跑了一下,按取消是弹出你好 my friend

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

    http://www.w3school.com.cn/jsref/met_win_prompt.asp 这是参考手册