2014-11-25 64 views
0

我试图在输入(a)的“输入”中创建并在另一个输入(a)下面插入输入(b),同时还将输入(a)输入(b)。创建并在“输入”上输入一个输入

的Javascript

function add_name(ele) { 
    if(event.keyCode == 13) { 
     var newdiv = document.createElement('div'); 
     newdiv.innerHTML = "<input id='person_holder' type='text' name='myInputs[]'>"; 
     document.getElementById(divName).appendChild(newdiv); 
     counter++; 
     var personName = document.getElementById("people").value; 
     document.getElementById('person_holder').value= personName;  
    } 
} 

HTML

<form> 
    <input type="text" class="add_name" onkeydown="add_name(this)" name="myInputs[]" id="people"/> 
</form> 
+0

其中是'divName'被设置? – haxxxton 2014-11-25 02:09:05

+0

将传递给您的事件处理函数的唯一事件是Event Object,它将覆盖您的'this'参数。你应该把你的函数封装在另一个函数中,这样你可以在内部函数中为'this'指定另一个参数。匿名函数会做。 'return false;'当'EventObject.keyCode === 13'时阻止正常行为。 – PHPglue 2014-11-25 02:30:36

回答

0

如果这是你的完整代码的话,我觉得这个问题从输入文本框的形式的默认行为造成的。对于表单中的输入文本框,当它被聚焦并按下输入按钮时,表单将被提交,这意味着页面将被重新加载。为了防止这种情况,您可以添加event.preventDefault();。这是demo的工作。