所以我创建了一个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";
}
}
}
}
答案 0 :(得分:1)
您可能忘记了为什么要创建其他变量;)
应该是
if (isNaN(numberFig) && isNaN(widthValue) && isNaN(...) && isNaN(leftValue) && isNaN(topValue)){
alert("You have to insert a number!");
而不是...
,colorValue
或heightValue
,我完全不知道,因为你重复figWidthInput
两次。
答案 1 :(得分:0)
isNaN()
不是在用户输入中测试的正确方法是数字。您必须使用parseInt()
,如下所示:parseInt(figWidthInput, 10)
。