获取DOM加载后创建的输入元素的值

时间:2015-03-09 01:57:01

标签: javascript php jquery mysql dom

我有多个输入元素排列成16行和5列(就像网格一样)。 16行的内容作为16条记录插入到mysql表中,每条记录包含5个字段。我想要一个方法来使用jquery将所有输入的值获取到数组中,并将其传递给ajax post请求。

dataentry.php包含此代码

jQuery('#metentry').submit(function(e){
     e.preventDefault(); 

 // getting data from form to variables
 var date=jQuery('#stddate').val();
 var kgsunit=jQuery('#unit').val();
 var kgsshift=jQuery('#shift').val();


//sending data to script
 jQuery.post("get_blank_form.php", {
 "date":date, 
 'unit':kgsunit,
 'shift':kgsshift, 
 },    function(data) {      

  //displaying message
jQuery('#blankform').html(data);
jQuery('#formpanel').hide();


  });

get_blank_form.php包含以下代码:

echo'<form id="shiftentry" name="shiftentry" >';


 echo "Date:<input id=shiftdate value='".$date."'/>"; 
 echo "Unit:<input id=shiftdate value='".$unit."'/>";
 echo "Shift:<input id=shiftdate value='".$shift."'/><br/>";

   echo "<table><tr><th>No</th><th>Ele</th><th>Location</th><th>Drate </th><th>H3 Val </th><th>Part </th>   <th>Iod</th><th>Cont. </th></tr>";
            while($row2=mysql_fetch_array($result_sec))
                { 
                echo "<tr>";
                echo "<td>".++$rc."</td>";
                echo "<td><input size='5' id='".$row2['ele']."' value='".$row2['ele']."' /></td>";
                echo "<td><input id='".$row2['loc_id']."' value='".$row2['loc']."' /></td>";
                echo "<td><input size='5' id='drate".$rc."'  value='".$row2['drate']."'/></td>";
                echo "<td><input size='5' id='h3".$rc."' value='0' /></td>";
                echo "<td><input size='5' id='part".$rc."' value='0' /></td>";
                echo "<td><input size='5' id='iod".$rc."' value='0' /></td>";
                echo "<td><input size='5' id='cont".$rc."' value='0' /></td>";
                echo "</tr>";
            }



  echo " </table>";



   echo '<div align="center">';
   echo '<input type="submit" id="submit2" name="submit2" value="Submit" width="30" />';
   echo '</div>';

 echo '</form>';

上述两个脚本都正常工作,这将在dataentry.php中为DOM添加一个“shiftentry”表单。此表单包含大约21行和8列包含输入元素。我想要一个方法来获取这个21 x 8输入元素中的值并将其传递给jQuery post请求。由于在加载DOM后添加了表单,如何获取值?

我的最终目标是将这21行附加到mysql表中。这一部分我知道,一旦我得到所有的价值观。有什么建议吗?

我有这个函数可以创建一个输入值的多维数组。但在这种情况下,'form1'在DOM完成之前加载。但在上面的场景中,在DOM填充完成后动态添加表单

jQuery('#form1').submit(function(e){
     e.preventDefault(); 

        var arr = jQuery('#form1 tr:gt(0)').map(function() {
    return [jQuery('input', this).map(function() {
        return this.value;
    }).get()];
}).get();


});

我在这个页面中还有另一个jquery脚本用于遍历输入框(很明显,这些输入框是在DOM之后加载的)

jQuery(document).delegate('input','keyup',function(e){
if(e.which==39)
jQuery(this).closest('td').next().find('input').focus();
else if(e.which==37)
jQuery(this).closest('td').prev().find('input').focus();
else if(e.which==40)
jQuery(this).closest('tr').next().find('td:eq('+jQuery(this).closest('td').index()+')').find('input').focus();
else if(e.which==38)
jQuery(this).closest('tr').prev().find('td:eq('+jQuery(this).closest('td').index()+')').find('input').focus();
});

如何在脚本中用于遍历的脚本中使用委托选项来获取输入值?

0 个答案:

没有答案