if-else javascript中的多个isNaN
所以我创建了一个javascript,它将绘制一些div,并根据输入的值来设置它们的样式。问题是,当我试图起草一个警告时,你必须输入一个数字,而不是其他任何东西。目前,我似乎根本无法让它创建数字,它只会显示该值不是数字的警告 我的代码: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
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
?所以我像您所说的那样将其更改为变量名,但现在在框中插入字母时没有发生任何事情