0

我有一些非常复杂的javascript,用于根据用户输入文本字段的数字创建许多输入字段和下拉框。
一个基本的描述:它判断你是否使用了一个数字,然后判断这个数字是否小于五,然后判断它是哪个数字。然后我根据它的数字复制并粘贴文本字段和操作。显然,我不擅长 Javascript(和正确的语法)。
这是代码:

function calculator() {
var boxNumber= document.getElementById('boxNumber').value;
var boxInt= parseInt(boxNumber);
var limit= new Number(5);

if (Math.floor(boxInt)== boxInt) {

    if (boxInt <= limit) {

        x= boxInt;

        if (x==5){

            document.getElementById('opSpace').innerHTML="<br /><input /><p></p><select><option>Add</option><option>Sub</option><option>Mul</option><option>Div</option></select><br /><input /><p></p><select><option>Add</option><option>Sub</option><option>Mul</option><option>Div</option></select><br /><input /><p></p><select><option>Add</option><option>Sub</option><option>Mul</option><option>Div</option></select><br /><input /><p></p><select><option>Add</option><option>Sub</option><option>Mul</option><option>Div</option></select><br /><input /><p></p><select><option>Add</option><option>Sub</option><option>Mul</option><option>Div</option></select>"

        }

        else {

            if (x==4) {

                document.getElementById('opSpace').innerHTML="<br /><input /><p></p><select><option>Add</option><option>Sub</option><option>Mul</option><option>Div</option></select><br /><input /><p></p><select><option>Add</option><option>Sub</option><option>Mul</option><option>Div</option></select><br /><input /><p></p><select><option>Add</option><option>Sub</option><option>Mul</option><option>Div</option></select><br /><input /><p></p><select><option>Add</option><option>Sub</option><option>Mul</option><option>Div</option></select>"

            }

            else {

                if (x==3) {

                document.getElementById('opSpace').innerHTML="<br /><input /><p></p><select><option>Add</option><option>Sub</option><option>Mul</option><option>Div</option></select><br /><input /><p></p><select><option>Add</option><option>Sub</option><option>Mul</option><option>Div</option></select><br /><input /><p></p><select><option>Add</option><option>Sub</option><option>Mul</option><option>Div</option></select>"

            }

                else {

                    if (x==2) {

                        document.getElementById('opSpace').innerHTML="<br /><input /><p></p><select><option>Add</option><option>Sub</option><option>Mul</option><option>Div</option></select><br /><input /><p></p><select><option>Add</option><option>Sub</option><option>Mul</option><option>Div</option></select>"

                    }

                    else {

                    if (x==1) {

                        document.getElementById('opSpace').innerHTML="<br /><input /><p></p><select><option>Add</option><option>Sub</option><option>Mul</option><option>Div</option></select>"

                    }

                    else {

                        alert("No zeros or negatives please")

                    }

                    }

                }

            }

        }

    }

    else {
    alert ("Use a number less than 5")
    }
}

else {
    alert("Use a number")
}
}

你明白了。这是计算器的前身,其中文本字段将定义操作数字,而下拉菜单将定义操作。任何帮助是极大的赞赏。

4

3 回答 3

1
function calculator() {
    var boxNumber= document.getElementById('boxNumber').value;
    var boxInt= parseInt(boxNumber, 10);
    var limit= 5;

    if (Math.floor(boxInt)== boxInt) {
        if (boxInt <= limit && boxInt > 0) {
            var html = '';
            for (var i = 0; i < boxInt; i++) {
                html += "<br /><input /><p></p><select><option>Add</option><option>Sub</option><option>Mul</option><option>Div</option></select>";
            }
            document.getElementById('opSpace').innerHTML = html;
        } else {
            alert("No zeros or negatives please")
        }
    } else {
        alert ("Use a number less than 5")
    }
}
于 2013-09-29T05:34:31.187 回答
0

就像是

if(x>limit)
{
     ... show error...
}
else if(x<= 0)
{
     ... show error...
}
else
{
    var el = document.getElementById('opSpace');
    el.innerHTML = '';
    for(var i = 0; i<x; i++)
    {
        el.innerHTML += "<br /><input /><p></p><select><option>Add</option><option>Sub</option><option>Mul</option><option>Div</option></select>";
    }
}
于 2013-09-29T05:31:44.520 回答
0
function calculator() {
    var boxNumber = document.getElementById('boxNumber').value;
    var boxInt = Math.floor( parseInt(boxNumber, 10) );
    var limit = 5;
    var htmlString = '<br /><input /><p></p><select><option>Add</option><option>Sub</option><option>Mul</option><option>Div</option></select>';

    function repeatString(str, num) {
        return new Array(num + 1).join(str);
    }

    if ( !isNaN(boxInt) && boxInt <= limit && boxInt > 0 ) {
        document.getElementById('opSpace').innerHTML = repeatString( htmlString, boxInt );
    } else if (boxInt < 0) {
        alert('Use a number between 0-' + limit);
    }
}
于 2013-09-29T05:38:58.107 回答