使用javascript将文本框数组添加到html中

时间:2012-10-19 21:03:36

标签: php javascript html vbscript

我的代码有问题吗?

    <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>

我试图在另一个下面添加另一个文本框,但什么都没发生。我该怎么办?

4 个答案:

答案 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>    

同时将表单元素放在两个表周围。

我还建议您使用JSRenderjQuery Templates来达到您的目的。

以下是sample代码,如果您仍在尝试解决此问题。