Javascript 当用户没有输入任何数字时,我需要显示一个警报框

Javascript 当用户没有输入任何数字时,我需要显示一个警报框,javascript,alert,Javascript,Alert,关于MaxN函数,我不知道我做错了什么。最大值显示正确。但是,当我必须显示一条警报消息,以防用户没有输入警报“NaN”中显示的任何数字,而不是所需的消息。 这是我的密码: JS文件: function getFirstNumber() { var value1 = document.getElementById("fnumber").value; var fn = parseInt(value1); return fn; } function getSecondNum

关于MaxN函数,我不知道我做错了什么。最大值显示正确。但是,当我必须显示一条警报消息,以防用户没有输入警报“NaN”中显示的任何数字,而不是所需的消息。 这是我的密码:

JS文件:

function getFirstNumber()
{
    var value1 = document.getElementById("fnumber").value;
    var fn = parseInt(value1);

    return fn;
}

function getSecondNumber()
{
    var value2 = document.getElementById("snumber").value;
    var sn = parseInt(value2);

    return sn;
}

function getThirdNumber()
{
    var value3 = document.getElementById("tnumber").value;
    var tn = parseInt(value3);

    return tn;
}

function MaxN()
{
    var fn = getFirstNumber();
    var sn = getSecondNumber();
    var tn = getThirdNumber();


    if (fn == "" && sn == "" && tn =="") {
        alert('Please input at least one number');
    } else if (fn >= sn && fn >= tn){
        alert(fn);
    } else if (sn >= fn && sn >= tn){
        alert(sn);
    } else {
        alert(tn);
    }
}
HTML文件:

<html>
<head>
    <script type="text/javascript" src="javafile_exercise.js"></script>
</head>
<body>
    <div>
    <span>First number: </span><input type="text" id="fnumber" />
    </div>

    <div>
    <span>Second number: </span><input type="text" id="snumber" />
    </div>

    <div>
    <span>Third number: </span><input type="text" id="tnumber" />
    </div>

    <br>
    <button type="button" onclick="MaxN()">Max Number</button>
    </br>

</body>
</html>

第一个号码:
第二个号码:
第三个号码:

最大数
Version 1 您仅在以下情况下显示此消息:

fn==”和sn==”以及tn==”

这意味着所有三个文本字段都必须为空。使用或语句,应该可以解决您的问题

如果其中一个文本字段为空,则您的消息将显示

var value1 = document.getElementById("fnumber").value;

if (value1 == null)
{
  return 0;
}
else
{
  var fn = parseInt(value1);

  return fn;
}
在调用函数的时候,即使on是空的,所以它的值为NaN

编辑修复程序:

if ((fn == "") || (sn == "") || (tn =="")) 
{
  alert('One of the text field is empty');
}

版本2 另一种方法是在文本字段为空时返回0。这样,即使文本字段为空,您也将始终拥有一个数字

var value1 = document.getElementById("fnumber").value;

if (value1 == null)
{
  return 0;
}
else
{
  var fn = parseInt(value1);

  return fn;
}

如果您更改逻辑,输入值是而不是数字,但里面没有写入任何内容,那么它将起作用,因此您应该使用
isNaN

函数getFirstNumber() { var value1=document.getElementById(“fnumber”).value; var fn=parseInt(值1); 返回fn; } 函数getSecondNumber() { var value2=document.getElementById(“snumber”).value; var sn=parseInt(值2); 返回序列号; } 函数getThirdNumber() { var value3=document.getElementById(“tnumber”).value; var tn=parseInt(值3); 返回tn; } 函数MaxN() { var fn=getFirstNumber(); var sn=getSecondNumber(); var tn=getThirdNumber(); 如果(伊斯南(fn)和伊斯南(sn)和伊斯南(tn)){ 警报('请至少输入一个数字'); }否则如果(fn>=sn&&fn>=tn){ 警惕(fn); }否则如果(序号>=fn&&sn>=tn){ 警报(sn); }否则{ 警报(tn); } }

第一个号码:
第二个号码:
第三个号码:

最大数
你是说这个?? 函数getFirstNumber() { var value1=document.getElementById(“fnumber”).value; var fn=parseInt(值1); 返回fn; } 函数getSecondNumber() { var value2=document.getElementById(“snumber”).value; var sn=parseInt(值2); 返回序列号; } 函数getThirdNumber() { var value3=document.getElementById(“tnumber”).value; var tn=parseInt(值3); 返回tn; } 函数MaxN() { var fn=getFirstNumber(); var sn=getSecondNumber(); var tn=getThirdNumber(); 如果(!isNaN(fn)&&!isNaN(sn)&!isNaN(tn)){ 如果(fn==”&&sn==”&&tn==”){ 警报('请至少输入一个数字'); }否则如果(fn>=sn&&fn>=tn){ 警惕(fn); }否则如果(序号>=fn&&sn>=tn){ 警报(sn); }否则{ 警报(tn); } } 其他的 警告(“请只输入数字!!”; }

第一个号码:
第二个号码:
第三个号码:

最大数

像这样的东西怎么样

            function getNumber(id, number, ERRMessage) {
                var result = false;
                var elm = document.getElementById(id);
                try {
                    var number = parseInt(value2);
                    var result = true;
                } catch (ex) {
                    ERRMessage = ex.message;
                }
                return result;
            }


            function MaxN(s) {

                //create id array 
                var ids = s.split(" ");
                //init result array
                var numbers = []
                //get the numbers from the form 
                for (var i = 0; i < s.length; i++) {
                    if (getNumber(ids[i], number,ERR)) {
                        numbers.push(number)
                    } else { 
                        console.log(ERR);
                    }
                }
                // do we have 3 numbers at least
                if (numbers.length < 3) { // maybee not
                    alert(tn);
                    return;

                } else {// we have 3 numbers

                    alert("Yippiee"); // get exited
                    console.log(numbers)

                    // get the maximum of the numbers
                    var max = numberts[0];
                    for (var i = 0; i < s.length; i++) {
                        if (numbers[i] > max) {
                            max = numbers[i];
                        }
                    }
                    alert("MAXIMUM is" + max) // show result

                }

            }

在MaxN中添加调试器;-你会发现你的第一个逻辑倾向于| |而不是|&&