无意中看到window.prompt()方法,之前真没有使用过,孤陋寡闻。不过现在学习下吧。
window对象的最后一种对话框是提示对话框,它显示了预先设置的信息并提供文本域供用户输入应答。它包括两个按钮,即Cancel和Ok,允许用户用两个相反的期望值来关闭这个对话框:取消整个操作或接收输入到对话框中的文本。
window.prompt()方法有两个参数,第一个作为提示信息。如果将一个字符串作为第二个参数,可在文本域显示一个默认答案,假如不想要默认答案,就传一个空字符串(不含任何空格的双引号)。 当单击按钮时这个方法将返回一个值,不管用户在文本域键人什么,单击Cancel按钮都返回一个null值,单击OK按钮返回键入的字符串值。脚本可在if和if...else结构条件中使用这些信息,在条件中null值看做false,空字符串也看做false。因此,条件可以很容易地检测键入域中的实际字符来简化条件测试,如下面的程序段所示: var answer = prompt("What is your name","") if(answer){ alert("Hello, " + answer + "!") } 只有当用户在提示对话框中输入了字符串并单击了OK按钮时,才会调用alert()方法。 -
那么prompt到底是怎么进行值的传递的呢,下面结合示例进行解释.
- 测试html code
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
<script type="text/javascript">
<!--
function test(){
var tempA=window.prompt('你是谁','ask');
if( tempA=='' || tempA==null ) {
tempA="你没有输入任何文字";
}
alert(tempA);
}
//-->
</script>
<body οnlοad="test()">
</body>
</html>
- 运行结果如下图:
firefox 效果
ie8效果
- 点击【取消】时,没有任何内容,firefox 效果
- 点击确定,