javascript If语句不工作
我试图显示javascript If语句不工作,javascript,jquery,if-statement,Javascript,Jquery,If Statement,我试图显示警报如果输入(inp_val)的值不在minvalue和maxvalue之间,但它不起作用,即使值在minvalue和maxvalue之间,它也会显示警报 function compare(e){ this_id = e.id.slice(10,15); inp_val = e.value; minvalue = document.getElementById('min_' + this_id).value; maxvalue = document.ge
警报
如果输入
(inp_val
)的值不在minvalue
和maxvalue
之间,但它不起作用,即使值在minvalue
和maxvalue
之间,它也会显示警报
function compare(e){
this_id = e.id.slice(10,15);
inp_val = e.value;
minvalue = document.getElementById('min_' + this_id).value;
maxvalue = document.getElementById('max_' + this_id).value;
console.log(maxvalue);
console.log(minvalue);
console.log(inp_val);
if(inp_val < minvalue){
alert('Minimum Value: ' + minvalue + 'Input Value: ' + inp_val);
}
if(inp_val > maxvalue){
alert('Maximum Value: ' + maxvalue + ' Input Value: ' + inp_val);
}
}
我曾尝试在jQuery中这样做,但都是相同的错误。
Minvalue和maxvalue是输入
类型隐藏
,其值存储在MySQL上的数据库中,并使用php检索,如下所示:
echo '<input type="hidden" value="' . $val_test . '" name="test_name' . $idc . '" id="test_name' . $idc . '" class="testN" />';
echo';
php变量$idc
是一个增量函数$idc++
您需要对整数值应用
运算符,以便将字符串值解析为整数,然后进行比较
if(parseInt(inp_val,10) < parseInt(minvalue,10)){
alert('Minimum Value: ' + minvalue + 'Input Value: ' + inp_val);
}
if(parseInt(inp_val,10)
试试这个:
if(!(inp_val >= minvalue && inp_val <= maxvalue)){
alert('Max Val: ' + maxvalue + ' Min Val: ' + minvalue + ' Input Value: ' + inp_val);
如果(!(inp_val>=minvalue&&inp_val您需要从文本框中获取的值解析整数或浮点值
如果它们是整数:
minvalue = document.getElementById('min_' + this_id).value;
maxvalue = document.getElementById('max_' + this_id).value;
minvalue = parseInt(minvalue,10);
maxvalue = parseInt(maxvalue,10);
或者,如果它们是浮动:
minvalue = document.getElementById('min_' + this_id).value;
maxvalue = document.getElementById('max_' + this_id).value;
minvalue = parseFloat(minvalue);
maxvalue = parseFloat(maxvalue);
对所有值(字符串值)使用parseInt(x)…@RoyiNamir:不要忘记基数parseInt(x,10)
:-P@RocketHazmat是的,(当“使用严格”时不需要)而且,chrome(26)似乎已经处理了这个问题。parseInt('010')=10和parseInt(010)=8。它正在工作!我不知道parseInt(),谢谢。您应该真正使用parseInt(inp\u val,10)
。您应该真正使用parseInt(minvalue,10)
。还有一些方法也可以帮助您。。。
minvalue = document.getElementById('min_' + this_id).value;
maxvalue = document.getElementById('max_' + this_id).value;
minvalue = parseFloat(minvalue);
maxvalue = parseFloat(maxvalue);