0

这个页面有一个按钮ADD来追加行。一旦追加的行被填充,提交时,它将连接/链接到另一个页面,然后在该页面上显示填充的信息。但是问题是如何显示填充的信息第 2 页的附加行是使用 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>

        </table>

        <input id="addbtn" type="button" name="addbtn" value="ADD">

Jquery 脚本(用于追加行):

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

PHP 源代码(第二页):

   <table width="600px" id="pub">
            <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>
4

1 回答 1

2

给动态添加textarea的名称,然后您的后续页面会将其视为参数并可以在 HTML 中将其呈现出来。

在 Javascript 中:(请不要尝试将所有代码都放在一行中!):

$("#project").append("<tr>);
$("#project").append("<td>"+num);
$("#project").append("<td><textarea name='pro_"+num+"' cols='100' rows='2'></textarea>");

看看一点点可读性如何使它易于理解?我遵循 HTML 规范,它说</td>并且</tr>是可选的,不是强制性的——我自己从不发出它们。

在您的 PHP 第二页中,您需要选择正确的参数名称。(您正在寻找pub_N,而不是pro_N您在下面发布的内容)。

整理你的代码,让你的名字正确。

然后在它周围放置一个 PHP 循环,以升序呈现项目名称,直到它用完参数。我的 PHP 代码很粗糙,但是..

<?php
$rowNum = 1;
while (true) {
    $rowValue = $_post["pro_"+$rowNum];
    if (! isset($rowValue))
        break;  // Reached the end.
    ?>
    <tr>
    <td><?= htmlentities( $rowValue) ?></td>
<?php 
} 
?>

希望这可以帮助!

于 2013-05-07T02:53:40.847 回答