1

この投稿を読んだ後: javascriptを使用してフォームフィールドを追加します。 ボタンを機能させました!しかし、出力を受け取る方法がわかりません。これが私が入力したものです。

        var counter = 0;
        function addNew() {
            // Get the main Div in which all the other divs will be added
            var mainContainer = document.getElementById('mainContainer');
            // Create a new div for holding text and button input elements
            var newDiv = document.createElement('div');
            // Create a new text input
            var newText = document.createElement('input');
            newText.type = "input"; 
            newText.maxlength = "50"; 
            newText.maxlimit = "50"; 
            newText.size = "60"; 
            newText.value = counter;
            // Create a new button input
            var newDelButton = document.createElement('input');
            newDelButton.type = "button";
            newDelButton.value = "Delete";

            // Append new text input to the newDiv
            newDiv.appendChild(newText);
            // Append new button input to the newDiv
            newDiv.appendChild(newDelButton);
            // Append newDiv input to the mainContainer div
            mainContainer.appendChild(newDiv);
            counter++;

            // Add a handler to button for deleting the newDiv from the mainContainer
            newDelButton.onclick = function() {
                    mainContainer.removeChild(newDiv);
            }
        }
    </script>

これを次の形式で使用します。

<input type="button"  size="3" cols="30" value="Add" onClick="addNew()">

では、新しいフィールド名はどうなるのでしょうか。私はそれを何に伝えているのかを理解するのに十分なコーディングを理解していません。私が頼りにできる他の賢い人々がそこにいるのは良いことです!

答えてくれてありがとう。

4

3 に答える 3

3
newText.name = "newInputName-" + counter; // for name
newText.id = "newInputId-" + counter;   // for id

ボタン用

newDelButton.name = "btnDeleteName"; // for name, or "btnDeleteName-"+counter for multiple
newDelButton.id = "btnDeleteId";     // for id    or "btnDeleteId-"+counter for multiple

NameそしてId、どのアイテムでも同じである可能性があります。

newText.name = "newInput-" + counter; // for name
newText.id = "newInput-" + counter;   // for id
于 2012-04-09T23:05:37.897 に答える
1

あなたはこれを行うことができます:

        var counter = 0;
        function addNew() {
        // Get the main Div in which all the other divs will be added
        var mainContainer = document.getElementById('mainContainer');
        // Create a new div for holding text and button input elements
        var newDiv = document.createElement('div');
        // Create a new text input
        var newText = document.createElement('input');
        newText.type = "input";
        newText.id = "AddedInput_" + counter;
        ...
于 2012-04-09T23:04:46.043 に答える
1

この要素には「name」属性を追加する必要があります。あなたは次のようなことをすることができます

newText.name ="newInput-"+カウンター; //これは他の答えが言ったことです。

そうすれば、送信後にサーバー上でnewInput-0、newInput-1などを受け取ります。

于 2012-04-09T23:09:33.810 に答える