1

ユーザーが (音楽) アルバムに関する詳細を入力できるフォームを作成しようとしています。アルバム自体を製品データベースに入力するためのフォームを作成済みです。私が今やろうとしているのは、ユーザーがアルバムの個々のトラックに関する詳細を追加できる動的なフォームを作成することです。私はすでにこれも解決しており、すべてうまくいっています。しかし、どういうわけか、このフォームに入力された値を取得できません。このデータを 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私が言ったように、ここではすべて正常に動作しますが、配列にデータがありません。$.postまた、jQuery のメソッドを使用してデータを送信しようとしました。

現在、inserttracks.php ドキュメントは$_POST配列を出力するだけです。

何も見えないところ:)

どんな助けでも大歓迎です!

4

1 に答える 1