0

私のコードに何か問題がありますか?

    <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

4 に答える 4

0

私にも役立ちます。別のブラウザでテストしてみてください。

于 2012-10-19T21:44:41.067 に答える
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」内)。

また、次のように、別のテーブルに[送信]ボタンを追加しました(より適切なソリューションがあります)。

<table>
<tr>
<td colspan="2"><input type="submit" value="Submit"></td>
</tr>
</table>    

また、両方のテーブルの周りにform-elementを配置します。

また、目的を達成するためにJSRenderまたはjQueryテンプレートを使用することをお勧めします。

それでも理解しようとしている場合は、サンプルコードを次に示します。

于 2012-10-19T22:14:08.827 に答える
0

私にも効いているようです。

最初に HTML ファイルに入れたとき、HTML ファイルがコンピュータのローカルにあるため、Internet Explorer で JavaScript を実行できませんでした。他のブラウザを使用している場合は、それを試してください。または、はいをクリックして IE で許可します。

于 2012-10-19T21:14:29.287 に答える
0

動作しているようです -フィドル

ページがロードされてから 1 秒後に実行されるように、add()内部に呼び出しを入れただけです。setTimeout

への電話を逃しただけadd()ですか?

編集:最初はonclickがバインドされていませんでした。新しい作業フィドル2

于 2012-10-19T21:10:04.253 に答える