如果声明问题或运营商问题

时间:2015-04-02 18:42:44

标签: javascript if-statement

需要帮助才能找出发生了什么问题?产生的结果不会低于条件。

javascript中的运算符无法正常工作或者其他工作无效。

function set_shield(t_value){

    var shield = document.getElementById('set_shield');
    if(shield.value==0){
        alert('Keep Enter a Value')
        exit;
    }
    else if(isNaN(shield.value)) {
        alert('Keep Enter Only numeric value')
        exit;
    }
    else if(t_value < shield.value) {
        alert('gf')
        exit;
    }
    else {
        var ok = confirm("Are you sure want Lock Value?")
        if (ok) {
            alert("I am an alert box!");
        }
        else {
            exit;
        }   
    }
}

2 个答案:

答案 0 :(得分:1)

在每次比较中强制将shield.value赋值为int,因为您将其用作数值。

parseInt(shield.value, 10)

示例:

else if (parseInt(t_value, 10) < parseInt(shield.value, 10)) {

t_value对我们来说是未知的,它可能不需要parseInt,但我认为它确实如此。

同样exit会引发语法错误。全部删除 - 不需要,什么也不做。

答案 1 :(得分:0)

看看这个,它运行正常:http://jsfiddle.net/bd61xv1z/3/

<强> HTML

<input id="set_shield" type="text" value="0" />

<强> JAVASCRIPT

 function set_shield(t_value){

                var shield = document.getElementById('set_shield');
                    if(shield.value==0){
                            alert('Keep Enter a Value');
                            }

                    else if(isNaN(parseInt(shield.value, 10)))
                            {
                            alert('Keep Enter Only numeric value');
                                }
                    else if(t_value < shield.value){
                            alert('gf');
                            }   
                    else{   

                            var ok = confirm("Are you sure want Lock Value?")
                                    if (ok)
                                    {
                                         alert("I am an alert box!");


                                        }
                                    else{

                                        }   

                            }
    }