-2

有一个查询,希望它很好且易于回答。

我有一个表单,用于将行添加到数据库中。加载页面时显示的默认行数为 6。我想通过更改字段或单击按钮等添加向表单添加更多行的选项。

我目前使用 while 循环来打印表单。我简单地说:

while($rows > 0) {
    echo "FORM INPUTS HERE";
    $rows = $rows - 1;
}

因此,循环通过 a 为记录 1 打印一组输入,然后从计数中取出一个,然后为记录 2 打印一组输入,依此类推。

有没有一种方法可以让 while 循环在不刷新页面的情况下打印更多内容?最简单的方法是在页面顶部有一个小表单,带有一个额外的列字段和提交按钮。然后,这会将值发布回同一页面,并将其添加到默认行数。

我想做到这一点,而不必提交、发布或获取任何东西,但要做到这一点。

我认为这可能很棘手,因为 while 循环已经运行,我不知道如何让它第二次运行。

干杯

编辑

4

3 回答 3

1

如果您需要一个空表单,请使用 Javascript 并将这个新的表单元素动态添加到 DOM!:)

您需要在该表单上加载一些信息吗?

于 2012-09-14T10:31:21.060 回答
0

感谢所有的建议家伙。

我决定只在我的页面顶部使用一个小的 1 归档表单,用户在其中输入他们想要添加的行数,然后按添加按钮。

它应该足够了,因为页面不需要太花哨,并且实现起来更快更简单。

非常感谢

编辑

于 2012-09-14T14:40:29.183 回答
0

你可以使用ajax来实现你的愿望。它不刷新页面,而是异步向服务器发送请求并获取内容并附加到表单。

例如,如果您有这样的代码:

<form method="post">
    <ul>
        <li><label><strong>Field 1:</strong> <input type="text" /></label></li>
        <li><label><strong>Field 2:</strong> <input type="text" /></label></li>
        <li><label><strong>Field 3:</strong> <input type="text" /></label></li>
        <li><label><strong>Field 4:</strong> <input type="text" /></label></li>
        <li><label><strong>Field 5:</strong> <input type="text" /></label></li>
    </ul>
</form>

现在使用jQuery$.getScript函数,您可以获取一个脚本,类似于以下内容:

$("form ul").append('<li><label><strong>Field ' + $currentValue + ':</strong> <input type="text" /></label></li>');

这对你有用。

于 2012-09-14T10:28:03.600 回答