Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
if-else javascript中的多个isNaN_Javascript_Jquery_Css_If Statement - Fatal编程技术网

if-else javascript中的多个isNaN

if-else javascript中的多个isNaN,javascript,jquery,css,if-statement,Javascript,Jquery,Css,If Statement,所以我创建了一个javascript,它将绘制一些div,并根据输入的值来设置它们的样式。问题是,当我试图起草一个警告时,你必须输入一个数字,而不是其他任何东西。目前,我似乎根本无法让它创建数字,它只会显示该值不是数字的警告 我的代码: function genFigures(){ var numberFig = numberFigInput.value; var widthValue = figWidthInput.value; var heightValue = fi

所以我创建了一个javascript,它将绘制一些div,并根据输入的值来设置它们的样式。问题是,当我试图起草一个警告时,你必须输入一个数字,而不是其他任何东西。目前,我似乎根本无法让它创建数字,它只会显示该值不是数字的警告

我的代码:

function genFigures(){
    var numberFig = numberFigInput.value;
    var widthValue = figWidthInput.value;
    var heightValue = figHeightInput.value;
    var colorValue = figRgbInput.value;
    var leftValue = figPosLeftInput.value;
    var topValue = figPosTopInput.value;

    if (numberFig >= 1001){
        alert("You need to input a value between 1 and 1000!");

    }if (isNaN(numberFigInput) && isNaN(figWidthInput) && isNaN(figWidthInput) && isNaN(figPosLeftInput) && isNaN(figPosTopInput)){
        alert("You have to insert a number!");

    }else{
        for(var amount = 0; amount < numberFig; amount++){
            myFigures.innerHTML += "<div></div>"

            var figStyle = document.getElementsByTagName("div");

            for(var i = 0; i < figStyle.length; i++){
            figStyle[i].style.width = widthValue +"px";
            figStyle[i].style.height = heightValue +"px";
            figStyle[i].style.background = "rgb(" + colorValue + ")";
            figStyle[i].style.left = leftValue +"px";
            figStyle[i].style.top = topValue +"px";

            }

        }
    }
}
函数genFigures(){
var numberFig=numberFigInput.value;
var widthValue=figWidthInput.value;
var heightValue=FighlightInput.value;
var colorValue=figRgbInput.value;
var leftValue=figPosLeftInput.value;
var topValue=figPosTopInput.value;
如果(numberFig>=1001){
警报(“您需要输入一个介于1和1000之间的值!”);
}if(isNaN(数字原始输入)和isNaN(figWidthInput)和isNaN(figWidthInput)和isNaN(figPosLeftInput)和isNaN(figPosTopInput)){
警报(“您必须插入一个数字!”);
}否则{
对于(变量金额=0;金额
isNaN()
不是测试用户输入是否为数字的正确方法。您必须使用
parseInt()
,如下所示:
parseInt(figWidthInput,10)

您可能忘记了为什么要创建其他变量;)

应该是

if (isNaN(numberFig) && isNaN(widthValue) && isNaN(...) && isNaN(leftValue) && isNaN(topValue)){
        alert("You have to insert a number!");

我不太清楚,因为你重复了两次
figWidthInput

isNaN是正确的方法,在非数字上使用parseInt将得到NaN,然后你必须测试它,所以最好首先使用isNaN。OP的问题是,他们是针对元素而不是输入的值进行测试。您确实意识到您在元素上使用的是isNaN,而不是正确的值,您是否打算在第二个if中使用
else if
?所以我像您所说的那样将其更改为变量名,但现在在框中插入字母时没有发生任何事情