2011-11-03 141 views
0

我在这个功能上玩弄,说如果你把这个文本框留空而不是打印错误代码。如果它不是空白的,则打印其中一个文本字符串。错误代码正在工作,但无法打印任何文本字符串。我认为问题是在随机选择返回到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]; 



    } 
+0

*你....... –

+0

你知道那是因为你有一个return语句的“答案”的innerHTML是执行永远不会被设置? –

+0

你已经拼写了var'quote'和'qoute' ... –

回答

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]; 

并告诉我它是否解决了问题。

2

什么是== !''

if (something equals not-a-blank-string) 

什么是空白字符串的“不”?

应该是!== ''

+0

你错了 - '==!'''与'!=='''不一样。第一个实际上和'== true'一样,我相信你明白了'== true'和'!=='''之间的区别? – Tadeck

+1

不,我不知道。什么是空字符串的反转?完整的字符串?充满了什么?空值? 0?随机字符?凶手非洲蜜蜂?这是一个语法上可怕的构造。 –

+0

可怕与否,有时会使用(尽管如此,在更有意义的情况下)。你见过例如吗? '!! a'(其中'a'是一些整数)?你可能会说“_it与某个整数相反,它是可怕的construct_”,但对于某些它只是从整数转换为布尔值。 – Tadeck

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 
1

变化

document.getElementById('ask').value == !"" 

document.getElementById('ask').value != "" 
1

点1:数组的语法与[]和不()

var qoute = [a,b,c,d,e,f,g]; 
... 
quote[randQuote]; 

点2:回归将防止最后一行

return quote(randQuote); 
    document.getElementById('answer').innerHTML = a; // never executed.