我有一个 php 页面,上面有一个表单,用于将人员添加到小组中。
对于每个被添加的人,都有一个包含多个表单元素的表单元素,每个表单元素根据人的编号命名。例如:
<div class="user">
<input type="text" name="user1LastName" />
...
</div>
<div class="user">
<input type="text" name="user2LastName" />
...
</div>
对于数据库中的每个人,php 页面都会填充一个表单部分。
要添加其他人,用户可以单击“+”图标,此时页面使用 jQuery 动态填充新的 .为此,我只是将新的 div html 附加到现有表单。这意味着 javascript 页面包含与 php 页面相同的所有 html 标记(待附加)。
这似乎是不必要的代码重复。每当我在 php 页面中更改某些内容时,我也必须在 javascript 代码中进行更改。
有没有什么通用的方法可以避免这种代码重复?我唯一能想到的就是使用 jQuery 从已经存在的 div 中获取 html。但在这种情况下,用户 n 的表单字段的值将出现在用户 n+1 的新代码中。
谢谢。
最佳答案
Capisci :)?
<div class="user" id="user_1">
<input type="hidden" name="uid[0]" value="1"/>
<input type="text" name="lastname[0]" value="user480029"/>
...
</div>
<div class="user" id="user_2">
<input type="hidden" name="uid[1]" value="2"/>
<input type="text" name="lastname[1]" value="arto"/>
...
</div>
现在添加另一个字段时...
<div class="user" id="user_3943094103945">
<input type="hidden" name="uid[]" value=""/>
<input type="text" name="lastname[]" value=""/>
...
</div>
然后通过 $_POST[]
进行迭代,做你想做的事。
你在 .user 上有用户 ID,所以我删除用户你可以删除那部分 HTML(这更多是为了 UX),更重要的是,你没有数百个变量,只有几个数组,你可以在一个循环中迭代。希望你明白这一点。干杯。
关于php - 避免 php 和 javascript 之间的重复代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5533079/