2012-10-10 44 views
3

我有一個不起作用的函數。 我不知道當我想知道變量是不是空白,然後顯示/寫入變量的語法會是什麼?如何找出變量是否爲空

function contactUsMailer(e) { 
try { 
var recipient = "[email protected]"; 
var timestamp = e.values[0]; 
var email = e.values[1]; 
var buffet = e.values[12];  
var message = 'Kantine Rekvisition'+'<br>' 

    +'Afdeling:  '+e.values[2]+'<br>' 
    +'Afd. nr.:  '+e.values[3]+'<br>' 
    +'Til dato/kl.: '+e.values[8]+'<br>'+'<br>' 

    **if (buffet!='') { 
     +'Antal Buffet: '+ buffet + '<br>'** 

    var body = message; 
var advancedArgs = {htmlBody:body, replyTo:email}; 
MailApp.sendEmail(recipient, "Kantine Rekvisition", body, advancedArgs); 
} catch(e){ 
MailApp.sendEmail(recipient, "Error - Contact Us Form", e.message); 
} 
} 
+1

它是谷歌的腳本:-) – user1734717

+0

是編譯吧? –

+1

和你的問題是什麼? – roel

回答

4

你可以簡單地使用:

if (buffet) { 
    // buffet is not undefined, null, false, 0 or empty string 
} 

你現有的條件buffet!=''應該工作爲好,只要記住那null!=''也是真的。

編輯

順便說一句,一個字符串連接內使用,你應該使用三元運算:

var message = 'Kantine Rekvisition'+'<br>' 
    +'Afdeling:  '+e.values[2]+'<br>' 
    +'Afd. nr.:  '+e.values[3]+'<br>' 
    +'Til dato/kl.: '+e.values[8]+'<br>'+'<br>' 
    +(buffet ? 'Antal Buffet: '+ buffet + '<br>' : ''); 
+0

+1優雅。 –

+0

它不起作用在我的谷歌scipt。我沒有從我的郵件中獲得變量Buffet的價值。 – user1734717

+0

@ user1734717你沒有得到價值,因爲它是空的?我相信你希望它有一個價值,但你應該確保;做一個'console.log(自助餐);'如果你不相信我:) –

0

您可以檢查是否變量爲空這樣的..

if(variable.length != 0){ 
    // not blank 
}else{ 
    // blank 
} 
+1

這是不會工作,如果變量爲空。 –