How do I add textboxes dynamically in Javascript?

后端 未结 8 864
感情败类
感情败类 2020-12-15 20:43

By default I have 5 textboxes. When a user clicks on a button, one textbox should be added.

How could I do this?

相关标签:
8条回答
  • 2020-12-15 21:16

    by change for loop values we can generate textboxes dynamically

    function addFunction() {
      var table = document.getElementById("textbox");
      var rowlen = table.rows.length;
      var row = table.insertRow(rowlen);
      row.id = rowlen;
      var arr = ['textboxfiledname'];
      for (i = 0; i < 2; i++) {
        var x = row.insertCell(i)
        if (i == 1) {
          x.innerHTML = "<input type='button' onclick='removeCell(" + row.id + ")' value=Delete>"
        } else {
          x.innerHTML = "<label>" + arr[i] + ":</label><input type='textbox' name='" + arr[i] + "'>"
        }
      }
    }
    
    function removeCell(rowid) {
      var table = document.getElementById(rowid).remove();
    }
    input[type=text] {
      width: 100%;
      height: 50%;
      padding: 15px;
      border: 1px solid #ccc;
      border-radius: 4px;
      resize: vertical;
    }
    
    label {
      padding: 12px 12px 12px 0;
      display: inline-block;
      font-family: sans-serif;
    }
    
    input[type=button] {
      background-color: #4CAF50;
      border: none;
      color: white;
      padding: 6px 20px;
      text-decoration: none;
      margin: 4px 2px;
      cursor: pointer;
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    
    <fieldset style="margin-left:20%;margin-right:20%;font-family:sans-serif;padding:15px;border-radius:5px;background:#f2f2f2;border:5px solid #1F497D">
      <legend style="background:#1F497D;color:#fff;padding:5px 10px;font-size:22px;border-radius:5px;margin-left:20px;box-shadow:0 0 0 5px #ffffd">DynamicTextbox</legend>
      <table id="textbox">
        <tr>
          <td>
            <input type="button" onclick="addFunction()" value="AddTextbox" />
          </td>
        </tr>
      </table>
    </fieldset>

    0 讨论(0)
  • 2020-12-15 21:22
    <!DOCTYPE html>
    <html>
    <body>
     <h1>My First Web Page</h1>
     <p>My first paragraph.</p>
     <button type="button" onclick="myFunction()">Click me!</button>
     <script>
     var count =0;
     function myFunction() {
     count++
      document.write('Lable1');
      document.write('<input type="text" name="one+count">');
      document.write('Lable2');
      document.write('<input type="text" name="two+count">');
    
      document.write('Lable3'); 
      document.write('<input type="text" name="three+count">');
    
      document.write('Lable4');
      document.write('<input type="text" name="four+count">');
    
      document.write(count);
    
      }
      </script>
    
      </body>
      </html> 
    
    0 讨论(0)
  • 2020-12-15 21:25

    If you replace the innerHTML, the previously entered values will be cleared, to avoid that, you can append the input elements programmatically:

    var input = document.createElement('input'); 
    input.type = "text"; 
    //...    
    container.appendChild(input); 
    

    Check this example.

    0 讨论(0)
  • 2020-12-15 21:25

    Javascript Function

    function add() {
    
    //Create an input type dynamically.
    var element = document.createElement("input");
    
    //Create Labels
    var label = document.createElement("Label");
    label.innerHTML = "New Label";     
    
    //Assign different attributes to the element.
    element.setAttribute("type", "text");
    element.setAttribute("value", "");
    element.setAttribute("name", "Test Name");
    element.setAttribute("style", "width:200px");
    
    label.setAttribute("style", "font-weight:normal");
    
    // 'foobar' is the div id, where new fields are to be added
    var foo = document.getElementById("fooBar");
    
    //Append the element in page (in span).
    foo.appendChild(label);
    foo.appendChild(element);
    }
    

    Html part,

    <button id="button" value="Add" onClick:"javascript:add();">
    

    And, Its done!

    0 讨论(0)
  • 2020-12-15 21:25

    try this

    <html>
    <head>
    <title>Dynamic Form</title>
    <script language="javascript" type="text/javascript" >
    function changeIt()
    {
    
    createTextbox.innerHTML = createTextbox.innerHTML +"<br><input type='text' name='mytext' >"
    
    }
    </script>
    </head>
    <body>
    
    <form name="form">
    <input type="button" value="clickHere" onClick="changeIt()">
    <div id="createTextbox"></div>
    </form> 
    </body>
    </html>
    
    0 讨论(0)
  • 2020-12-15 21:33
    <script>
    function add()
    {
        document.getElementById("place").innerHTML="<input type='text' value=''>"
    }
    </script>
    <input type="button" value="clickMe" onClick="add();">
    <div id="place"></div>
    
    0 讨论(0)
提交回复
热议问题