0

私は次のようにクライアント側から入力テキストボックスの値を取得しようとしています:

var CKQtyToDate = XSP.getElementById("#{id:CKQtyToDate}");
var CKQtyToDate = XSP.getElementById("#{id:CKQtyToDate}");
var SLQtyToDate = XSP.getElementById("#{id:SLQtyToDate}");
var FinishingQtyToDate = XSP.getElementById("#{id:FinishingQtyToDate}");
var PackingQtyToDate = XSP.getElementById("#{id:PackingQtyToDate}"); 

if ((parseInt(CKQtyToDate.value)+parseInt(SLQtyToDate.value)+parseInt(FinishingQtyToDate.value)+parseInt(PackingQtyToDate.value))>parseInt(hContractQty.value))
{
    alert("Total qty more than contract qty! =" + parseInt(CKQtyToDate.value)+parseInt(SLQtyToDate.value)+parseInt(FinishingQtyToDate.value)+parseInt(PackingQtyToDate.value));
    return false;
}

しかし、私はまだ文字列の連結だけの結果を持っています、どうすればこのことを乗り越えることができますか?

4

1 に答える 1

0

まず、Javascriptでは、parseIntは空の文字列を解析するときにNaNを返します。したがって、計算を行う前に、必ず空の文字列をテストしてください。を使用して、文字列を解析できるかどうかをテストできます!isNaN(string)

あなたの問題は、アラートボックス内の文字列を連結することだと思います。計算を別の変数に移動してから、アラートボックスでメッセージ文字列をこの変数と連結することをお勧めします。

var result = parseInt(CKQtyToDate.value)+parseInt(SLQtyToDate.value)+parseInt(FinishingQtyToDate.value)+parseInt(PackingQtyToDate.value);

if (result>parseInt(hContractQty.value))
{
   alert("Total qty more than contract qty! =" + result);
   return false;
}
于 2012-06-25T11:15:09.577 に答える