0

我需要将输入字段转换为数字。因此,如果输入字段为空或包含字母,则数字将为 0。

这不起作用:

var trade_gold = document.getElementById('trade_gold').value;
if (trade_gold < 1) {

我也尝试过 parseInt ,似乎无法正常工作。有什么建议吗?

4

4 回答 4

3
var val = document.getElementById('trade_gold').value,
    trade_gold = parseFloat(val) || 0;
于 2012-04-17T17:25:06.443 回答
0
var value = document.getElementById('trade_gold').value;

value = parseInt(value, 10);

// parseInt will return NaN if the conversion failed
if (isNaN(value)) {
    value = 0;
}

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/parseInt

于 2012-04-17T17:25:24.867 回答
0
var trade_gold = 0;
try{
    trade_gold = parseInt(document.getElementById('trade_gold').value, 10);
}catch(e){}
于 2012-04-17T17:25:36.013 回答
0

这将检查它是否是一个数字,如果不是,则将值更改为 0。

var trade_gold = document.getElementById('trade_gold').value;
if (trade_gold.search(/[^0-9]/)>=0)
{
       // not a number
       trade_gold = 0;
}
于 2012-04-17T17:30:10.707 回答