さて、テキストボックスにデフォルト値を設定する方法を知っています。
<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)"/>
たとえば、最初のテキストボックスの値を3に変更すると、メソッドが呼び出されて新しい価格が表示されますが、メソッド内で2番目のアイテムに数量があり、既存の価格に追加されているかどうかを確認したいと思います。だからこれは私の論理:
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 != "")
ここに到達すると、デフォルト値が1に設定されていても、空の文字列が返され、テキストボックスにデフォルト値の1が表示されます。
なぜこれが発生しているのか、どうすれば修正できるのか、誰かに説明できますか?