如果alert
(input
)的值不在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);
}
}
我正在调用函数比较onBlur()
:
echo '<input class="result_fields" autocomplete="off" onBlur="compare(this)" id="result_inp' . $idc . '" type="text" name="test_res' . $idc . '" />'
我试过在jQuery中这样做,但是同样的错误。
Minvalue和maxvalue是input
类型hidden
,其值存储在MySQL上的数据库中,并使用php检索:
echo '<input type="hidden" value="' . $val_test . '" name="test_name' . $idc . '" id="test_name' . $idc . '" class="testN" />';
php变量$idc
是增量函数$idc++
。
答案 0 :(得分:1)
您需要对整数值应用<
和>
运算符,以便将字符串值解析为整数然后进行比较。
if(parseInt(inp_val,10) < parseInt(minvalue,10)){
alert('Minimum Value: ' + minvalue + 'Input Value: ' + inp_val);
}
答案 1 :(得分:1)
您需要从文本框中获取的值中解析整数或浮点数
如果它们是整数:
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);
答案 2 :(得分:0)
试试这个:
if(!(inp_val >= minvalue && inp_val <= maxvalue)){
alert('Max Val: ' + maxvalue + ' Min Val: ' + minvalue + ' Input Value: ' + inp_val);