随机文本字符串
问题描述:
我在这个功能上玩弄,说如果你把这个文本框留空而不是打印错误代码。如果它不是空白的,则打印其中一个文本字符串。错误代码正在工作,但无法打印任何文本字符串。我认为问题是在随机选择返回到HTML文件的某处,我不知道如何语法。 当你点击按钮执行它的函数随机文本字符串
function button() {
var a = "Punf";
var b = "Relcken";
var c = "Checks in the mail";
var d = "Thae said";
var e = "Drorself";
var f = "Thertions";
var g = "Don stupid";
var err = "You think you are smarter than this website? Your not!"
if (document.getElementById('ask').value == "") {
document.getElementById('answer').innerHTML = err;
}
if (document.getElementById('ask').value == !"") {
var qoute = (a, b, c, d, e, f, g);
var maxQuote = quote.length;
var randQuote = Math.floor(Math.random() * maxQuote);
return quote(randQuote);
document.getElementById('answer').innerHTML = a;
}
}
我得下来到这里,但我仍然有问题,我不知道为什么,感谢您指出我的新秀的错误,我需要走一步回头看看它更清新的眼睛。
if (document.getElementById('ask').value == ""){
document.getElementById('answer').innerHTML = err;
}
var quote = [a,b,c,d,e,f,g];
var maxQuote = quote.length;
var randQuote = Math.floor(Math.random()*maxQuote);
document.getElementById('answer').value = quote[randQuote];
}
答
你已经做了一个错字。
更改行:
var qoute = (a,b,c,d,e,f,g);
为以下:
var quote = [a,b,c,d,e,f,g];
这行:
return quote(randQuote);
进入这一行:
return quote[randQuote];
并告诉我它是否解决了问题。
答
什么是== !''
?
if (something equals not-a-blank-string)
?
什么是空白字符串的“不”?
应该是!== ''
。
答
var qoute = (a,b,c,d,e,f,g);
应该是:
var qoute = [a,b,c,d,e,f,g];
基本上是:
var qoute = (a,b,c,d,e,f,g);
变为:
var qoute = g; // commma operator
此:
if (document.getElementById('ask').value == !""){
应该只是:
if (document.getElementById('ask').value) { // value has something, is not null or "" <-- empty
答
变化
document.getElementById('ask').value == !""
到
document.getElementById('ask').value != ""
答
点1:数组的语法与[]
和不()
var qoute = [a,b,c,d,e,f,g];
...
quote[randQuote];
点2:回归将防止最后一行
return quote(randQuote);
document.getElementById('answer').innerHTML = a; // never executed.
*你....... –
你知道那是因为你有一个return语句的“答案”的innerHTML是执行永远不会被设置? –
你已经拼写了var'quote'和'qoute' ... –