If语句发布或操作员发布

If Statement issue or operator issue

本文关键字:操作员 语句 If      更新时间:2023-09-26

需要帮助找出发生了什么错误?结果输出不包含小于条件的内容。

javascript中的运算符不工作,或者如果else不工作。

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;
        }   
    }
}

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

parseInt(shield.value, 10)

示例:

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

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

此外,exit正在引发语法错误。将它们全部移除-不需要,也没有任何作用。

看看这个,它工作得很好: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{
                                        }   
                            }
    }