为什么附加行的数据在提交后没有显示?

时间:2013-05-16 15:20:03

标签: php javascript

这是我的PHP代码(第1页):

        <table width="600px" id="project">
            <tr>
                <td>1</td>
                <td><textarea name="pro_1" cols="100" rows="2"></textarea></td>
            </tr>
            <tr>
                <td>2</td>
                <td><textarea name="pro_2" cols="100" rows="2"></textarea></td>
            </tr>
            <tr>
                <td>3</td>
                <td><textarea name="pro_3" cols="100" rows="2"></textarea></td>
            </tr>
            <input id="addbtn" type="button" name="addbtn" value="ADD">

与javascript合并,用于在单击按钮时附加行:

$("#addbtn").click(function(){
    var num=parseInt($("#project tr:last").text());
        num+=1;
            $("#project").append("<tr><td>"+num+"</td><td><textarea name='pro_"+num+"' cols='100' rows='2'></textarea></td></tr>");
                });

第二页是显示第一页上所有数据的重要页面:

<table width="600px" id="project">
            <tr>
                <td>1</td>
                <td><?php echo $_POST["pro_1"]; ?></td>
            </tr>
            <tr>
                <td>2</td>
                <td><?php echo $_POST["pro_2"]; ?></td>
            </tr>
            <tr>
                <td>3</td>
                <td><?php echo $_POST["pro_3"];?></td>
            </tr>
</table>

我的问题是附加行的数据没有在第二页显示。如何制作? 输出如下:

enter image description here

2 个答案:

答案 0 :(得分:2)

在第二页上执行以下操作:

<table width="600px" id="project">
    <?php foreach($_POST as $key => $value) { ?>
    <tr>
        <td><?php echo $key; ?></td>
        <td><?php echo $value; ?></td>
    </tr>
    <?php } ?>
</table>

答案 1 :(得分:1)

首先,你想要将你的html重构成这样的东西。

<table width="600px" id="project">
    <tbody>
        <tr>
            <td>1</td>
            <td><textarea name="pro[]" cols="100" rows="2"></textarea></td>
        </tr>
        <tr>
            <td>2</td>
            <td><textarea name="pro[]" cols="100" rows="2"></textarea></td>
        </tr>
        <tr>
            <td>3</td>
            <td><textarea name="pro[]" cols="100" rows="2"></textarea></td>
        </tr>
    </tbody>
    <tfoot>
        <tr><td colspan='2'><input id="addbtn" type="button" name="addbtn" value="ADD"></td></tr>
    </tfoot>
</table>

然后将您的javascript更新为此类

$("#addbtn").click(function(){
    var num=$("#project tbody tr").length +1;
    $("#project tbody").append("<tr><td>"+num+"</td><td><textarea name='pro[]' cols='100' rows='2'></textarea></td></tr>");
}());

最后在php方面你应该能够做到这一点:

<table width="600px" id="project">
    <?php foreach($_POST["pro"] as $key => $value): ?>
    <tr>
        <td><?php echo $key+1; ?></td>
        <td><?php echo $value; ?></td>
    </tr>
    <?php endforeach; ?>
</table>