我正在学习css + js + html rn,并且在制作简单的弹出消息脚本时,在以下脚本中开始出现意外的字符串错误:
function myFunction() {
var xbg = prompt("Please enter your name!", "Henry Phillips");
if (person === null || person == "")
{
txt= "Enter your name in the field.";
} else {
txt "Hello" + xbg + "! How are you today?"
}
document.getElementById("demo").innerHTML = txt;
}
正如控制台所说,字符串错误专门位于此处: line
答案 0 :(得分:2)
您的脚本中有一些错误。
首先,您会忘记else语句中的=
。
txt = "Hello " + xbg + "! How are you today?"
----^
如果条件未测试好变量名,则可以用xbg代替person。
if (xbg === null || xbg == "")
// or shorter
if (xbg && xbg.trim())
最后,如果用户未输入此名称,则无需再次调用脚本。您可以使用setTimeout
给用户一些时间来阅读消息,然后再打开打开提示。
setTimeout(myFunction, 500);
请参阅下面的完整固定代码
function myFunction() {
var xbg = prompt("Please enter your name!", "");
if (xbg === null || xbg == "")
{
txt = "Enter your name in the field.";
setTimeout(myFunction, 500);
} else {
txt= "Hello " + xbg + "! How are you today?"
}
document.getElementById("demo").innerHTML = txt;
}
myFunction();
<span id="demo"></span>
答案 1 :(得分:1)
function myFunction() {
var person = prompt("Please enter your name!", "Put Your Name");
if (person.trim()) {
txt = "Hello, " + person + "! How are you today?"
} else {
txt = "Enter your name in the field.";
}
document.getElementById("demo").innerHTML = txt;
}
myFunction();
<div id="demo"></div>
您可以在此处找到编辑后的脚本。
答案 2 :(得分:-1)
所以基本上您在这里有错别字:用 xbg
更改 personfunction myFunction() {
var xbg = prompt("Please enter your name!", "Henry Phillips");
if (xbg === null || xbg == "")
{
txt= "Enter your name in the field.";
} else {
txt ="Hello" + xbg + "! How are you today?"
}
document.getElementById("demo").innerHTML = txt;
}