我的代码有问题吗?
<script>
function add(){
/* Get your form */
form = document.getElementById("test");
/* Create your input element */
input = document.createElement("input");
input.type="text";
input.name="array['artists']";
/* Append to form */
form.appendChild(input);
alert("done");
}
</script>
<table>
<tr>
<td align="right">Artist/s:</td>
<td><form id="test" enctype="multipart/data-form" method="post">
<input type="text" name="artists"/>
<input type="button" onclick='javascript: add()'/></form></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Submit"></td>
</tr>
</table>
我试图在另一个下面添加另一个文本框,但什么都没发生。我该怎么办?
答案 0 :(得分:0)
似乎有效 - fiddle
我只是在add()
内调用了setTimeout
,因此它会在页面加载后执行一秒钟。
您是否只是错过了对add()
的电话?
编辑:我最初没有看到onclick绑定。新工作fiddle2
答案 1 :(得分:0)
似乎也在为我工作。
当我第一次将它放入html文件时,Internet Explorer不会让我运行javascript,因为html文件是我的计算机的本地文件。如果您正在使用它,请尝试其他浏览器。或者,如果是这种情况,只需单击以便在IE中允许它。
答案 2 :(得分:0)
也适合我。尝试在其他浏览器中进行测试..
答案 3 :(得分:0)
您的HTML格式不正确。这就是为什么输入框(TextBox)在“添加”按钮之后添加而不是在你想要的下面。
您可以尝试以下代码:
var table = document.getElementById("tableAddRows");
var row = document.createElement("tr");
var td1 = document.createElement("td");
var td2 = document.createElement("td");
td2.appendChild(input);
row.appendChild(td1);
row.appendChild(td2);
table.appendChild(row);
在表格中添加一个id(在“tableAddRows”示例中)。
另外,我在另一个表中添加了Submit-button,就像这样(有更简洁的解决方案):
<table>
<tr>
<td colspan="2"><input type="submit" value="Submit"></td>
</tr>
</table>
同时将表单元素放在两个表周围。
我还建议您使用JSRender或jQuery Templates来达到您的目的。
以下是sample代码,如果您仍在尝试解决此问题。