今天在马来项目:jsp开发过程中遇到个问题....
jsp获取数值,比较大小和算加法都是以字符串的方式在比较和计算,加法直接拼接,代码如下
<tr>
<td align="right" width="40%" style="height:20px;">
我当前房卡数:
</td>
<td colspan="2" align="left" style="height:20px;">
<span id="myRoomCardNum">${operatRC }</span>
</td>
</tr>
<tr>
<td align="right" width="40%" style="height:20px;">
出售数量:
</td>
<td colspan="2" align="left" style="height:20px;">
<input name="" type="text" id="sellNumOne" class="put" maxlength="12" />
<span id="sellNumOneMSG" class="red"></span>
</td>
</tr>
下面是获取值:
var myRoomCardNum = $('#myRoomCardNum').html();
var sellNum = $.trim($('#sellNumOne').val());
if(sellNum == null || sellNum == ""){
$('#sellNumOneMSG').html('不能为空');
return false;
}
var reg = /^[1-9]\d*$/;
if(isNaN(sellNum)){
$('#sellNumOneMSG').html('必须为数字');
return false;
}
if(! reg.test(sellNum)){
$('#sellNumOneMSG').html('必须为正数');
return false;
}
if(sellNum-myRoomCardNum>0){
$('#sellNumOneMSG').html('你的房卡数不足');
return false;
}
原因:
jsp开发中获取数据默认都是字符串,也就是字符串的优先级比较高,当对数据做比较计算加法时,它都是先以字符串的形式进行对应的操作!
解决办法:
比较大小通过减法来实现!
加法计算-----对获取的数值进行一个转换,如:console.log(parseInt(myRoomCardNum)+parseInt(sellNum));
分析问题和解决方法有误或不全欢迎指教!!