2013-07-01 31 views
1

我正在嘗試創建一個表單,用戶可以在其中輸入(音樂)相冊的詳細信息。我已經創建了用於將相冊本身輸入到產品數據庫中的表單。我現在想要做的是創建一個動態表單,用戶可以在其中添加關於專輯中單個曲目的詳細信息。我已經完成了這項工作,所有工作都很順利。但不知何故,我沒有得到輸入到這種形式的值。如何在PHP中提取這些數據然後將其輸入到數據庫中。如何從jQuery動態創建的表單中獲取數據到php中?

下面你看到我的代碼。我對jQuery非常陌生,你可能會在代碼中看到它:)任何建議將被視爲!

我已經試過了作爲數組的命名方法,並已相當徹底搜索這個網站,我想。 這裏是我的jQuery:

<script type="text/javascript"> 
     $(document).ready(function() { 

      var tracktr = '<tr class="tracks">'; 
       tracktr +='><td class="enum"></td>'; 
       tracktr += '<td class="tracktd"> <input type="text" name="products_track_name[]" class="track_name"/> </td>'; 
       tracktr += '<td class="tracktd"> <input type="text" name="products_track_time[]" class="track_time"/> </td>'; 
       tracktr += '<td class="tracktd"> <input type="text" name="products_track_price[]" class="track_price" </td>'; 
       tracktr += '<td class="tracktd"> <input type="file" name="products_track_file[]" class="track_file" </td>'; 
       tracktr += '<td class="tracktd"><input type="text" name="products_track_id[]" class="track_id" disabled="disabled" </td>'; 
       tracktr += '<td class="main"><a class="addtrack" href=#>+</a> </td>'; 
       tracktr += '<td class="main"><a class="removetrack" href=#>-</a></td></tr>'; 
       $('#tracklist tr:last').before(tracktr); 

       $('#tracklist').on('click', 'a.addtrack',function() { 
       $(this).closest('tr').after(tracktr); 
       $('.tracks').each(function(i) { 
      $("td:first", this).html(i+1); 
      var trackid = '<?php echo $model; ?>'; 
      trackid += '-'; 
      if (i+1<10) { 
       trackid += '0' 
      } 
      trackid += (i+1); 
      $(".track_id", this).val(trackid).attr('disabled', true); 
     }) // end each 

     var totaltracks = $('#tracklist .tracks').length; 
      $('#totaltracks').html(totaltracks) 
     return false; 
      }); // end click 
      $('table').on('click', '.tracks a.removetrack', function() { 
      $(this).closest('tr').remove(); 
      $('.tracks').each(function(i) { 
      $("td:first", this).html(i+1); 
      var trackid = '<?php echo $model; ?>'; 
      trackid += '-'; 
      if (i+1<10) { 
       trackid += '0' 
      } 
      trackid += (i+1); 
      $(".track_id", this).val(trackid).attr('disabled', true); 
     }) // end each 
     var totaltracks = $('#tracklist .tracks').length; 
      $('#totaltracks').html(totaltracks) 
      return false; 
      }); // end on 
}); // end ready 
     </script> 

這一切嵌套表內的HTML:

<table id="tracklist"> 
<form action="inserttracks.php" method="post" id="tracksform"> 
     <tr><th colspan="3">Titelerfassung</th></tr> 
     <tr> 
      <th>Track</th> 
      <th>Titel</th> 
      <th>Dauer</th> 
      <th>Preis</th> 
      <th>Upload File</th> 
      <th>Titel-ID</th> 

     </tr> 
<tr> 
     <td colspan="3"><input type="submit" value="Submit" /> </td><td>Total Tracks:</td><td id="totaltracks"></td></form> 
     </tr></table> 

正如我所說的,這裏的一切工作正常,但我沒有在$_POST得到任何數據陣列。我也試着用jQuery的$.post方法提交數據。

的inserttracks.php文件目前只是打印$_POST陣列:

我在哪裏可以看到什麼:)

任何幫助,將不勝感激!

回答

1

更改您的HTML代碼下面喜歡並檢查是否正常工作。主要是我改變了一件事 - 將整個桌子放在桌子的內部。

<form action="inserttracks.php" method="post" id="tracksform"> 
    <table id="tracklist"> 
     <tr> 
      <th colspan="3">Titelerfassung</th> 
     </tr> 
     <tr> 
      <th>Track</th> 
      <th>Titel</th> 
      <th>Dauer</th> 
      <th>Preis</th> 
      <th>Upload File</th> 
      <th>Titel-ID</th> 
     </tr> 
     <tr> 
     <td colspan="3"> 
      <input type="submit" value="Submit" /> 
     </td> 
     <td>Total Tracks:</td> 
     <td id="totaltracks"></td> 
     </tr> 
    </table> 
</form> 
+0

哦哇,有時它太簡單了:)謝謝! – rafhun

相關問題