ここで憂鬱なことが起こります。まずフロントエンド HTML を見てください:
購入数量: 在庫あり <%=GOODSNUM%>)
JS を使用して値を取得します。JS コードに注意してください:
var num = document.getElementById("txtNum") .value;
var Goodsnum = document.getElementById( "getGoodsNum").innerHTML;
txtNum と getGoodsNum の value メソッドが異なることがわかります。
txtNum は .value を使用し、getGoodsNum は .innerHTML を使用します。
getGoodsNumはspanタグを使用し、txtNumはテキストボックスを使用するためです。
span、table、div には値がないため、innerHTML を使用して値を取得します。
txtNum はテキスト ボックス、ラベル、ドロップダウン ボックスに属し、すべて値を持ちます。
もう誰もが理解しています。
次に、2 つの数値を比較してみましょう。これでこの2つの数字が得られたと誰もが思っているはずです。
JS コードを参照してください:
if (num > ; Goodsnum) {
alert("買い物数量は在庫数量を超えることはできません!");
return false
}
それを見ていますこのように、2 つの数値を比較することに問題はありません。次に、データを入力して比較します。 num に 100、goodsnum に 90 を入力します。それが正常であることを確認します。次に、num は 90 を失い、goodsnum は 100 を失います。確認すると、何か問題が発生し、「購入数量は在庫数量を超えることはできません!」というメッセージが表示されました。 》。どうしたの?次に、alert を使用して 2 つのパラメーター (yes) を出力し、それについて考えます。ところで、この2つの数値は文字列型なのでしょうか?どうしたら忘れられるでしょうか?私の脳はショートしています。変換してください。
現在 2 つのメソッドが提供されています。1 つは
if ((num / 1) > (goodsnum / 1)) {
alert("購入数量は在庫数量を超えることはできません!");
return false; >
このように、1を外してもOKですが、検証が難しいです。
2:
コードをコピーします
コードは次のとおりです。 if (parseInt( num) > ; parseInt(goodsnum)) {
alert("買い物数量は在庫数量を超えることはできません!");
return
}
検証OK、合格、解決しました。
著者: S.R Lee 氏
出典:
http://www.cnblogs.com/LeeYongze