【问题标题】:Form names structure [closed]表单名称结构[关闭]
【发布时间】:2016-03-23 15:30:20
【问题描述】:

嘿, 我有一个包含许多重叠元素的表单,需要在保存时保持关系。 例如:我有一个包含多个银行的表格,每个银行可能有多个雇主。 如何保持每个雇主与代理银行的关系的正确结构。

    <form>
input name="bank_name[]"
input name="bank_email[]"
input name="employer_name[]"
input name="employer_name[]"
input name="employer_name[]"

input name="bank_name[]"
input name="bank_email[]"
input name="employer_name[]"
</form>

有什么想法吗?如果重要,表格正在使用 php 保存。对不起我的英语。

【问题讨论】:

    标签: php html arrays forms


    【解决方案1】:

    这个怎么样:

    <input name="bank[0][name]" />
    <input name="bank[0][email]" />
    <input name="bank[0][employer_name][]" />
    <input name="bank[0][employer_name][]" />
    <input name="bank[0][employer_name][]" />
    
    <input name="bank[1][name]" />
    <input name="bank[1][email]" />
    <input name="bank[1][employer_name][]" />
    <input name="bank[1][employer_name][]" />
    <input name="bank[1][employer_name][]" />
    
    ...
    

    您可以循环执行此操作,以循环任意数量的银行。这在支付网关中很常见,它们使用索引来创建多维数组。

    编辑:

    如果说雇主有多个属性,你应该使用类似的方式来实现多维数组:

    <input name="bank[0][name]" />
    <input name="bank[0][email]" />
    <input name="bank[0][employer][0][name]" />
    <input name="bank[0][employer][0][email]" />
    <input name="bank[0][employer][0][address]" />
    <input name="bank[0][employer][1][name]" />
    <input name="bank[0][employer][1][email]" />
    <input name="bank[0][employer][1][address]" />
    
    ....
    

    【讨论】:

    • 我知道这一点,但是我为雇主添加了新的 html 行,或者为带有 ajax 的雇员的银行添加了新的 html 行,并且数组计数未知,或者需要用 js 重新格式化,所以这是我的解决方案不想用..因为这个我在论坛上写的
    • 嗯,我不太明白你的意见。基本上,这样做的想法是实现您的要求 - 在提交中保持父子关系。你还有什么顾虑?
    • @mpc,根据您的输入,这是使用多维数组的正确方法。如果你的情况不同,最好用真实的数据结构更新你的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多