我在div
内有一个隐藏的表单,点击按钮显示。
在表单中我有一个input
文本字段,以及一个应该调用添加另一个输入字段的JavaScript函数的按钮。
如果名为"blockOfStuff"
的容器是div
,如您所见,该功能不起作用。如果我将<div>
容器标记更改为<script>
标记,那么它正在运行...
怎么了?
<script>
function addProceduri(divName){
c = document.getElementById("proceduri").getElementsByTagName("div").length;
var moddiv = document.createElement('div');
moddiv.innerHTML = "<input type='checkbox' value='1' name='check" + c + "'><input type='text' name='procedura" + c + "'>";
document.getElementById(divName).appendChild(moddiv);
}
</script>
<input type="button" value="ADD" onClick="addbox.innerHTML=blockOfStuff.innerHTML;">
<div id="addbox"></div>
<div id="blockOfStuff" name="blockOfStuff" style="display: none;">
<form name="adaugare" enctype="multipart/form-data" action="afisare.php?add=1" method="POST">
<div id="field"> Procedures: <input type="button" value="+" onClick="addProceduri('proceduri');">
<div id="proceduri">
<?php
echo '<div><input type="checkbox" name="check0" value="1"><input type="text" name="procedura0" value=""></div>';
?>
</div>
</div>
</form>
</div> // end of "blockOfStuff" div
答案 0 :(得分:0)
当您使用div
并将innerHTML
复制到其他位置时,您将拥有多个具有相同id
的元素。这是非法的,会发生各种各样的怪异。
script
代码中的元素不属于&#34;常规&#34;文档,当他们被复制时,你不会有这种冲突。
答案 1 :(得分:0)
我已将onclick envent更改为document.getElementById(&#39; blockOfStuff&#39;)。style.display =&#39; block&#39;现在它正在工作。
由于