Javascriptはstringタイプをintタイプに変換します.

1551 ワード

憂鬱なことが来ました.まずフロントのHTMLを見ます.
 
  


JSで値を取ります.JSコードを見てください.
 
  
var num = document.getElementById("txtNum").value;
var goodsnum = document.getElementById("getGoodsNum").innerHTML;
txtNumとgetGoodsNumの値の取り方が違います.
txtNumは.value,getGoodsNumを使っています.innersHTMLです.
getGoodsNumはspanタグを使用していますので、txtNumはテキストボックスです.
span、table、divはvalueがないので、innersHTMLを使って値を取ります.
txtNumはテキストボックスに属しています.また、lableもあり、プルダウンフレームも値があります.
分かりましたよね.
今から言えば二つの数の対比です.皆さんはきっとこの二つの数が取れたと思います.
JSコードを見てください
 
  
if (num > goodsnum) {
alert(" !");
return false;
}
このように見れば大丈夫です.二つの数字を比べて、データを負けます.numは100負けて、goodsnumは90で、検証して、正常です.そしてnumは90負けて、goodsnumは100負けます.検証します.問題がありました.「買い物の量は在庫の量より多くないように!」これはどういうことですか?そしてalertで二つのパラメータを出力するのは間違いないと思います.そうだ、この二つの数はstringタイプですか?どのように忘れて、脳は短絡しました.切り替えましょう
二つの方法を提供します.One:
 
  
if ((num / 1) > (goodsnum / 1)) {
alert(" !");
return false;
}
このように1を除いてOKです.検証は悲しいです.
Two:
 
  
if (parseInt(num) > parseInt(goodsnum)) {
alert(" !");
return false;
}
検証OK、通過、解決しました.
作者:Mr.R Lee
出典:http://www.cnblogs.com/LeeYongze