我需要创建一个系统来打印有关数据库中项目的信息。到目前为止,我有一个带有多个输入字段(类型 = 文本和单选)的 html 表单,因此我可以收集项目的所有信息。
为了让这个过程更快,我引入了一个javascript来复制整个空表单'n'次点击,这样就可以一次打印多个项目信息。我的脚本如下所示:
<body>
<button id="button" onclick="duplicate()">add form</button><!--this button duplicates the empty form-->
<form action="action.php" method="post" name="formulario">
<div id="duplicater">
<p>Código:<input type="text" name="codigo" /></p>
<p>Nombre del proyecto:<input type="text" name="proyecto" /></p>
<p>
<span>
<input type="radio" name="grupo1" value="SD" />SD
<input type="radio" name="grupo1" value="HD" />HD
</span>
<span>
<input type="radio" name="grupo2" value="4:3"/>4:3
<input type="radio" name="grupo2" value="16:9"/>16:9
</span>
</p>
<p>Fecha:<input type="text" name="fecha" /></p>
<p>Lugar:<input type="text" name="lugar" /></p>
<p>Dueño:<input type="text" name="dueno" /></p>
</div>
<p><input type="submit" name="submit" value="enviar" /></p>
</form>
<script>
document.getElementById('button').onclick = duplicate;
var i = 0;
var original = document.getElementById('duplicater');
function duplicate() {
var clone = original.cloneNode(true); // "deep" clone
clone.id = "duplicator" + ++i; // there can only be one element with an ID
original.parentNode.appendChild(clone);
}
</script>
</body>
此时,项目的这一部分工作正常,但我在处理将信息从所有表单发送到新页面以打印它的功能的 action.php 文件存在问题。
action.php 使用每个输入的 name 属性收集表单的信息。由于每个表单都只是原始表单的副本,每个新表单都具有相同的名称属性,因此当我单击发送按钮时,php 只会回显上一个表单的信息。
<div><span>Código: </span><?php echo htmlspecialchars($_POST['codigo']); ?></div>
<div><span>Proyecto: </span><?php echo htmlspecialchars($_POST['proyecto']); ?></div>
<div><span>Calidad: </span><?php echo htmlspecialchars($_POST['grupo1']); ?></div>
<div><span>Formato: </span><?php echo htmlspecialchars($_POST['grupo2']); ?></div>
<div><span>Fecha: </span><?php echo htmlspecialchars($_POST['fecha']); ?></div>
<div><span>Lugar: </span><?php echo htmlspecialchars($_POST['lugar']); ?></div>
<div><span>Dueño: </span><?php echo htmlspecialchars($_POST['dueno']); ?></div>
问题:
我需要更新(重命名)每个重复表单中输入标签的名称属性,我该怎么做?
是否可以将 action.php 文件中的 echo 函数引用到分配了 id 的 div 以一次发布整个信息?否则,如何一次将所有重复表单的信息发送(发布)到新页面?
这必须是一个客户端进程,所以它背后没有更多的东西,php 只是用于将信息回显到新页面。因此,如果有可以用 javascript 或 jQuery 完成的解决方案也可以。
我留下了演示链接http://www.programaicat.una.ac.cr/ICATsite/demo/
提前感谢大家。