在我的JavaScript程序中,我在do-while循环中创建了提示对话框。提示应运行,直到用户在提示符下输入stop。当用户在提示符中输入值时,它应显示在屏幕上,并应生成另一个提示。但在我的情况下,当我第一次输入值时,提示另一个提示生成而不显示值。谁能告诉我我的代码中有什么问题?
代码:
<html>
<head>
<title>lab12</title>
</head>
<body bgcolor="#efe862">
<h3 id="txt1"></h3>
</body>
<script>
myFunction();
function myFunction() {
do {
var prom = window.prompt("Enter a text(stop to exit)");
} while(prom != "stop");
document.getElementById("txt1").innerHTML = "The text is: " + prom;
}
</script>
</html>
答案 0 :(得分:0)
你有两个问题:
试试这个:
function myFunction() {
var prom = window.prompt("Enter a text (cancel to exit)");
if (prom != null) {
document.getElementById("txt1").innerHTML = "The text is: " + prom;
setTimeout(myFunction, 0);
}
}
myFunction();
&#13;
<h3 id="txt1"></h3>
&#13;
setTimeout
函数将控制浏览器,以便在再次调用myFunction
之前呈现文本。
答案 1 :(得分:-1)
<script type="text/javascript" language="javascript">
myFunction();
function myFunction()
{
var prom = "";
var done = false;
try
{
while(!done)
{
prom = window.prompt("Enter a text(stop to exit)");
if(prom==null) prom="null";
done = (prom.toLowerCase() =="stop");
if(!done) document.getElementById("txt1").innerHTML = "The text is: " + prom;
}
}
catch(e)
{
alert("Error: " + e.Message);
}
finally
{
}
}
</script>
答案 2 :(得分:-1)
这应该有效,而不是显示由于提示隐藏的dom中的答案,这会将文本放在下一个提示中。
<script>
function myFunction(){
var prom=prompt("Enter some text");
while(prom!="stop"){
prom=prompt("The text is "+prom);
}
}
myFunction();
</script>