2011-02-04 43 views
1

我有以下几点:如何判断一个空白文本框和一个带有零的JavaScript文本框?

var NewCount = document.getElementById('MainContent_gv_NewCount_' + rowIndex).value; 
if (NewCount != "") { 
    document.getElementById('MainContent_gv_lblTotal_' + rowIndex).innerHTML = "£" + ((originalCount - NewCount) * unitCost).toFixed(2); 
} else { 
    document.getElementById('MainContent_gv_lblTotal_' + rowIndex).innerHTML = ""; 
      } 

我做的计算是基于文本框中的值。 (NewCount)。

我希望标签更新如果值是任何数字(包括0),但要擦除,如果用户清除文本框。但是,目前它正在处理一个空白文本框和一个文本框,其中0是一样的。

我该如何区分两者?

+1

,我不相信你发布的代码也可能会被负责您认为什么是想错了。当输入框的值是任何非空字符串,包括字符串“0”时,您得到的比较“NewCount!=”“`将为”true“。 – Pointy 2011-02-04 13:48:53

+0

你是否想要像“”一样对待空格? – JoeyRobichaud 2011-02-04 13:53:37

回答

3

在您的if声明中使用!==

0
if (NewCount.length == 0) { 
    // text-box is empty 
} else if (!isNaN(NewCount)) { 
    // the value is a number 
} 
0

任何一个都可以工作

NewCount.length > 0 
NewCount !== '' 
1

我无法重现您所描述的行为。在我的测试中,使用您的比较逻辑(!=“”),其中包含“0”的文本框将被视为而不是

这里是我的尝试: http://jsfiddle.net/pJgyu/5404/