1

好的,所以我知道如何在文本框中设置默认值:

<input type='text' size="2" name="QuantityAlbum1" id="QuantityAlbum1" value='1' onblur="chkValue('album1', this.value)"/>
<input type='text' size="2" name="QuantityAlbum2" id="QuantityAlbum2" value="1" onblur="chkValue('album2', this.value)"/>

所以假设我将第一个文本框的值更改为三个,它调用我的方法并给出一个新价格,但是在我的方法中我想检查第二个项目是否有数量,如果它确实将其附加到现有价格,所以这是我的逻辑:

function newPriceTotal(chkObject, quantity){
      var newPrice=0;
      var albumQ1 = document.getElementById("QuantityAlbum1").innerHTML;
      var albumQ2 = document.getElementById("QuantityAlbum2").innerHTML;
        switch (chkObject)
        {

             case "album1":
             {
              newPrice =  4.99 * Number(quantity);
              if (albumQ2 != "")
                {
                  newPrice = newPrice + (8.99 * albumQ2)
                } 
                break;
              }     
        }  //end of switch
    return newPrice; 
}

所以我没有问题,直到我得到:

if (albumQ2 != "")

当它到达这里时,即使默认值设置为一,它也会返回空字符串,并且在文本框中显示默认值一。

谁能解释为什么会发生这种情况以及我该如何解决它?

4

1 回答 1

0

您可以使用.value而不是.innerHTML

于 2012-08-11T19:45:14.307 回答