未捕获的TypeError:并且文本框中的光标闪烁无法在javascript中运行

时间:2015-10-21 10:13:28

标签: javascript html dom

我正在制作一个html表单,我将从列表框中选择项目,然后将自动生成一个输入文本框,如果我选择一个项目两次,我将为所选项目放置数量,它将提醒该项目的框已经生成,为此我将createElement变量值设置为none,一切正常,但它在控制台中抛出错误

  

未捕获的TypeError:无法执行' appendChild' on' Node':参数1不属于' Node'。

......在这一行:

blueDiv.appendChild(createInput);

...并且文本字段中的光标闪烁没有出现,这是正常的,而我的东西正如我想要的那样工作吗?

function createFunc() {            
    var getElem = document.getElementById("itemsList");
    var optValue = getElem.options[getElem.selectedIndex].value;
    var blueDiv = document.getElementById("blueDiv");
    var createInput = document.createElement("input");
        createInput.type = "text";
        createInput.name = optValue;    
        createInput.id = optValue;

    var inputs = document.getElementsByTagName("input");       

    for(var x=0; x < inputs.length; x++){  
    var inputsName = inputs[x].getAttribute("name");
        if(optValue == inputsName){
            alert("Textbox for this field already exists");
            createInput = "a";
            }              
    }
        blueDiv.appendChild(createInput);            

    }

    <html>
    <form id="theForm" action="" type="post">  

    <select id="itemsList" name="select_pro" class="formTxtInputmany"   
    onchange="createFunc()" >

        <option>SELECT PRODUCT</option>
        <option value="21">KEY CHAIN</option>
        <option value="22">BISCUITS</option>
        <option value="23">COOKING OIL</option>             
        </select> </form>
        <button class="SubmtBtn" onclick="makeJson()">click</button>
        </html>

2 个答案:

答案 0 :(得分:0)

错误说

  

未捕获TypeError:无法在'Node'上执行'appendChild':参数1不是'Node'类型

如果你仔细观察,你的标记中没有定义“blueDiv”。

你的代码非常好,只需要定义div

<div id="blueDiv">

编辑:抱歉,我发布了错误的错误消息,但如果你存在blueDiv,你仍然可以验证

答案 1 :(得分:0)

这正是消息所说的。这是相关代码:

var createInput = document.createElement("input");
createInput = "a";
blueDiv.appendChild(createInput);

您将createInput变量创建为Node的实例,但随后在其中存储字符串