2011-11-03 161 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.