2013-04-22 67 views
0

我有以下代碼片段,它定義了我的表單中的屬性值。檢查javascript中的空對象

function retrieve(){ 
    setSelectedIndex(document.producerSetForm.GA1,"<%=ssnGA1%>"); 
    setSelectedIndex(document.producerSetForm.GA2,"<%=ssnGA2%>"); 
    setSelectedIndex(document.producerSetForm.GA3,"<%=ssnGA3%>"); 
    setSelectedIndex(document.producerSetForm.GA4,"<%=ssnGA4%>"); 
    setSelectedIndex(document.producerSetForm.GA5,"<%=ssnGA5%>"); 
} 

其中這些ssnGA1,ssnGA2等可能或可能沒有值。我需要檢查他們是否有價值做更多的處理。我試過

var len=<%=ssnGA1.toString().length()%>; 
if(len !=0) 

但它只有在值存在時纔有效。否則它給JavaScript錯誤。請幫忙。感謝

回答

0

你,檢查你的字符串沒有未定義/ null的第一對例如:

if (ssnGA1 && ssnGA1.toString().length) { 
    // do something 
} 

此外,length是一個屬性,而不是細節的功能,see MDN

+0

var str = <%= ssnGA2.toString()%>; \t alert(typeof(str)); 我得到的類型爲數字。因此無法根據長度或任何其他屬性檢查字符串。 – user1002448 2013-04-22 09:23:48

+0

Try:var str =「<%= ssnGA2.toString()%>」; (我猜測ssnGA2.toString()返回一個數字)。 – kamituel 2013-04-22 09:42:28

+0

我試過了,它沒有工作。因爲其返回號碼不能執行任何檢查。返回java腳本錯誤。 str有一個數字。如果ssnGA2屬性沒有值var str = <%= ssnGA2.toString()%>將不起作用。需要一些替代方案來檢查 – user1002448 2013-04-22 09:45:58