0

我有以下代码片段,它在我的表单中定义了属性值。

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 错误。请帮忙。谢谢

4

1 回答 1

0

您必须首先检查您的字符串是否未定义/为空,例如:

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

另外,length是一个属性,而不是一个函数,有关详细信息,请参阅 MDN

于 2013-04-22T07:21:53.930 回答