首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javascript If语句不起作用

javascript If语句不起作用
EN

Stack Overflow用户
提问于 2013-04-06 04:19:43
回答 3查看 92关注 0票数 0

我尝试显示一个alert,如果input (inp_val)的值不在minvaluemaxvalue之间,但它不起作用,即使值在minvaluemaxvalue之间,它也会显示警报。

代码语言:javascript
复制
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);
    }
}

我调用函数compare与onBlur()进行比较

代码语言:javascript
复制
echo '<input class="result_fields" autocomplete="off" onBlur="compare(this)" id="result_inp' . $idc . '" type="text" name="test_res' . $idc . '" />'

我曾尝试在jQuery中执行此操作,但出现了相同的错误。maxvalue和maxvalue是input类型的hidden,它的值存储在MySQL上的DB中,并使用php检索,如下所示:

代码语言:javascript
复制
echo '<input type="hidden" value="' . $val_test . '" name="test_name' . $idc . '" id="test_name' . $idc . '" class="testN" />';

$idc++变量$idc是一个增量函数php。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-04-06 04:25:09

您需要根据从文本框中获得的值来解析整数或浮点数

如果它们是整数:

代码语言:javascript
复制
minvalue = document.getElementById('min_' + this_id).value;
maxvalue = document.getElementById('max_' + this_id).value;
minvalue = parseInt(minvalue,10);
maxvalue = parseInt(maxvalue,10);

或者,如果它们是浮点数:

代码语言:javascript
复制
minvalue = document.getElementById('min_' + this_id).value;
maxvalue = document.getElementById('max_' + this_id).value;
minvalue = parseFloat(minvalue);
maxvalue = parseFloat(maxvalue);
票数 1
EN

Stack Overflow用户

发布于 2013-04-06 04:23:51

您需要对整数值应用<>运算符,以便将字符串值解析为整数,然后进行比较。

代码语言:javascript
复制
if(parseInt(inp_val,10) < parseInt(minvalue,10)){
        alert('Minimum Value: ' + minvalue + 'Input Value: ' + inp_val);
    }
票数 1
EN

Stack Overflow用户

发布于 2013-04-06 04:24:09

试试这个:

代码语言:javascript
复制
if(!(inp_val >= minvalue && inp_val <= maxvalue)){
     alert('Max Val: ' + maxvalue + ' Min Val: ' + minvalue + ' Input Value: ' + inp_val);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15842797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档