How to retrieve value of input type in a dynamic table

前端 未结 6 568
迷失自我
迷失自我 2020-12-11 00:29



        
相关标签:
6条回答
  • 2020-12-11 01:03
    alert(tbl.rows[rCount - 1].cells[0].getElementsByTagName("input")[0].value);
    
    0 讨论(0)
  • 2020-12-11 01:05

    For future readers, here's a full demo snippet with it working... (based on the accepted answer)

    Also setup a second function to display the value of the second cell if clicked - to show how to access the value from the next cell.

    function showText(tableID) {
         var tbl = document.getElementById(tableID);
         var rCount = tbl.rows.length;
         try {
             alert(tbl.rows[rCount-1].cells[0].children[0].value);
    
         } catch (e) {
             alert(e);
         }
    
     }
     
     function showFont(tableID) {
         var tbl = document.getElementById(tableID);
         var rCount = tbl.rows.length;
         try {
             alert(tbl.rows[rCount-1].cells[1].children[0].value); // Note changed to cell[1] for the next cell
    
         } catch (e) {
             alert(e);
         }
    
     }
    <table border="1" id="dataTable">
           <tr>
              <td>
                  <Strong>Text</Strong>
              </td>
              <td>
                  <Strong>Font</Strong>
              </td>
              <td>
                  <Strong>Size</Strong>
              </td>
              <td>
                  <Strong>Color</Strong>
              </td>
              <tr>
              <td>
                  <input type="Text">
              </td>
              <td>
                   <input type="Text">
              </td>
              <td>
                    <input type="Text">
              </td>
              <td>
                    <input type="Text">
              </td>
            </tr>
           </tr>
         </table>     
         <INPUT type="button" value="Show Text Value" onclick="showText('dataTable')" />
         <INPUT type="button" value="Show Font Value" onclick="showFont('dataTable')" />

    0 讨论(0)
  • 2020-12-11 01:13

    To get all of the inputs, you should do something like:

    function get(tableId) {
    // returns an array for the values of all input elements in the last row of given table
        var t = document.getElementById(tableId);
        var r = t.rows[t.rows.length-1];
        var inputs = r.getElementsByTagName("input");
        var result = new Array(inputs.length);
        for (var i=0; i<inputs.length; i++)
            result[i] = inputs[i].value; // not innerHTML or something
        return result;
    }
    
    0 讨论(0)
  • 2020-12-11 01:15

    Well you're not even trying to access the value...

    alert(tbl.rows[rCount-1].cells[0].children[0].value);
    
    0 讨论(0)
  • 2020-12-11 01:18
    function neeminhoud3(){
        var tabel = document.getElementById('tableDiagnose');
        var rijen = tabel.rows.length;
    
        for (i = 0; i < rijen; i++){
            var inputs = tabel.rows.item(i).getElementsByTagName("input");
            var inputslengte = inputs.length;
    
            for(var j = 0; j < inputslengte; j++){
                var inputval = inputs[j].value;                
                alert(inputval);
            }            
        }      
    }
    

    if you want to get all input fields out of your table

    0 讨论(0)
  • 2020-12-11 01:22

    You need to access the input object WITHIN the cell. You're just looking at the HTML within it.

    Try tbl.rows[rCount - 1].cells[0].children[0].value;

    0 讨论(0)
提交回复
热议问题