【问题标题】:How do I get the data from forms dynamically created with jQuery into php?如何从使用 jQuery 动态创建的表单中获取数据到 php 中?
【发布时间】:2013-06-28 06:28:09
【问题描述】:

我正在尝试创建一个表单,用户可以在其中输入有关(音乐)专辑的详细信息。我已经创建了用于将专辑本身输入产品数据库的表单。我现在要做的是创建一个动态表单,用户可以在其中添加有关专辑中各个曲目的详细信息。我也已经解决了这个问题,并且一切正常。但不知何故,我没有得到输入此表单的值。如何在 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>

正如我所说,这里一切正常,但我在$_POSTarray 中没有得到任何数据。我还尝试使用 jQuery 的 $.postmethod 提交数据。

inserttracks.php 文档目前只打印$_POSTarray:

我什么都看不到:)

任何帮助将不胜感激!

【问题讨论】:

    标签: php jquery forms post dynamic


    【解决方案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>
    

    【讨论】:

      猜你喜欢
      • 2017-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多