我在使用这个函数搞错了,如果你把这个文本框留空而不是打印错误代码。如果它不是空白打印其中一个文本字符串。错误代码正在运行但我无法打印任何文本字符串。我认为问题在于将随机选择返回到html doc,我不知道如何对此进行语法处理。 单击按钮时,它将执行函数
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];
}
答案 0 :(得分:2)
什么是== !''
?
if (something equals not-a-blank-string)
空白字符串的“不”是什么?
应改为!== ''
。
答案 1 :(得分:1)
更改
document.getElementById('ask').value == !""
到
document.getElementById('ask').value != ""
答案 2 :(得分:1)
第1点:数组语法是[]
而不是()
var qoute = [a,b,c,d,e,f,g];
...
quote[randQuote];
第2点:return将阻止执行最后一行
return quote(randQuote);
document.getElementById('answer').innerHTML = a; // never executed.
答案 3 :(得分:0)
您输错了。
更改行:
var qoute = (a,b,c,d,e,f,g);
进入以下内容:
var quote = [a,b,c,d,e,f,g];
和这一行:
return quote(randQuote);
进入这一行:
return quote[randQuote];
并告诉我它是否解决了这个问题。
答案 4 :(得分:0)
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