Php 添加具有动态属性值的HTML表单

Php 添加具有动态属性值的HTML表单,php,jquery,html,forms,Php,Jquery,Html,Forms,我目前正在处理的页面有一个“添加另一个”选项,它插入一个包含标题和3个输入框列表的字段集。为了提交表单,需要为每个输入框指定一个带有递增值的名称。(“field1\u 1”,“field1\u 2”等) 我知道我可以通过使用$('',{…})动态创建元素来添加字段但对于更多的元素,这使得代码难以阅读和维护 我目前正在使用jQuery的.load()函数拉入文件,但通过搜索,我找不到将变量传递给响应的方法,因此只能使用预设的名称属性值 这是可能的,还是上面的方法是唯一的方法?将模板放入一个虚拟脚本

我目前正在处理的页面有一个“添加另一个”选项,它插入一个包含标题和3个输入框列表的字段集。为了提交表单,需要为每个输入框指定一个带有递增值的名称。(
“field1\u 1”
“field1\u 2”
等)

我知道我可以通过使用
$('',{…})动态创建元素来添加字段但对于更多的元素,这使得代码难以阅读和维护

我目前正在使用jQuery的
.load()
函数拉入文件,但通过搜索,我找不到将变量传递给响应的方法,因此只能使用预设的名称属性值


这是可能的,还是上面的方法是唯一的方法?

将模板放入一个虚拟脚本中,使用未知类型以避免错误:

<script id="template1" type="text/template">
    <h2>{title}</h2>
    <input type="text" name="field{id}_1">
    <input type="text" name="field{id}_2">
    <input type="text" name="field{id}_3">
</script>
当然,您可以连接替换项,但在这里选择可读性

此方法允许使用复杂的HTML,而不会因为大量的字符串操作而弄乱代码。您的模板看起来像最终结果,因此不需要心理翻译。维护技术非常低


占位符可以是简单的名称(不带大括号),以避免使用正则表达式分隔符,只要名称与模板中的任何其他内容都不匹配。我只是使用大括号,以便占位符在模板中突出(同样是出于维护目的)。

您的输入应该具有字段[1]的名称,而不是字段1。^^just
field[]
更好地使用存储在伪脚本元素和
字符串中的模板。用/g Regexe替换
,将内容插入占位符。如果你能帮助的话,千万不要连接字符串来创建HTML(维护噩梦)。最好能看到一些你拥有的和你期望的代码,以及你的jquery。这比我考虑的任何尝试都要干净得多,谢谢!很高兴你喜欢。。。还有一个工具,你可以在下一份工作中拿出一盒技巧:)
var template = $('#template1').html();
template = Template.replace(/\{title\}/g, mytitle);    
template = Template.replace(/\{id\}/g, nextId);
$('#somewhere').append(template);