gpt4 book ai didi

php - 如何构造 HTML 表单元素以便将它们轻松转换为 PHP 对象?

转载 作者:行者123 更新时间:2023-11-28 02:18:56 25 4
gpt4 key购买 nike

我正在尝试找出命名我的 HTML 表单字段的最佳方式,以便它们可以轻松地解析为一组 PHP 对象。

例如,我有以下元素表:(假设它在一个表单中)

<table>
<tr id='payment0'>
<td><input type='text' name='paymentType0'></td>
<td><input type='text' name='paymentAmount0'></td>
<td><input type='text' name='paymentAccount0'></td>
</tr>
<tr id='payment1'>
<td><input type='text' name='paymentType1'></td>
<td><input type='text' name='paymentAmount1'></td>
<td><input type='text' name='paymentAccount1'></td>
</tr>
</table>

显然我可以编写一堆代码来搜索 $_POST 数组以找到所有 paymentType/Amount/Account 等值并将它们放入对象中。然而这感觉有点臭,我想知道是否有更好的方式来命名这些表单元素?

附带说明一下,我曾尝试将这些字段命名为控件数组(至少我是这样调用它们的),因此 paymentType0 将改为 paymentType[0] 并且 PHP 会将它们视为我可以迭代的数组尽管。这种方法的问题在于,由于方括号,使用 jQuery 引用这些字段变得非常困难。

什么是“两全其美”的解决方案?

最佳答案

您可以毫无问题地使用数组,但不要调用字段 paymentType[0]paymentAmount[0]、...

相反,称它们为 payment[0][type]payment[0][amount]

然后记录将被方便地分组到关联数组中,这更容易操作:

foreach ($_POST["payment"] as $payment) {
echo "The type was $payment[type] and the amount was $payment[amount]";
}

至于 jQuery:遵循 David 的建议。 JavaScript 中的对象实际上只是带有语法糖的关联数组,您可以按如下方式访问它们的成员:

myForm["payment[0][amount]"].value = 300

关于php - 如何构造 HTML 表单元素以便将它们轻松转换为 PHP 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/915799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com