0

当我有一个带有动态数量的复选框(name='golyPenalta[]')的表单并在提交时我让它们使用时,是否可以以某种方式包含未选中的复选框$form->getHttpData($form::DATA_TEXT, "golyPenalta[]");?只有被勾选的才放在场上,有自己的顺序,所以不知道哪个点球属于哪个球门:

golyCas => array (3)
   0 => "55" (2)
   1 => "60" (2)
   2 => "70" (2)
golyPenalta => array (2)
   0 => "on" (2)
   1 => "on" (2)   // <- this should be part of third goal so index should be 2

我已经尝试过这样做,$form->getHttpData($form::DATA_TEXT | $form::DATA_KEYS, "golyPenalta[]");但没有运气。上面的转储来自$form于属性 httpData 的转储。

4

2 回答 2

0

name='golyPenalta[key]'当我创建该字段的动态数字时,我最终使用输入名称中的特定键来实现它。它可以通过 Nette 表单来完成,或者name='golyPenalta[{key}]'当我得到我必须像这样创建的字段数量时,我在 for 循环中通过 JavaScript 创建它name='golyPenalta[$i]'

在表单提交中,我$form->getHttpData($form::DATA_TEXT | $form::DATA_KEYS, "golyPenalta[]")用来保存这些密钥。

于 2018-09-19T06:56:28.347 回答
0

不幸的是,未选中的复选框甚至不会在 http 中的 POST 数据中发送。您必须在 nette 中定义元素,然后使用$form->getValues()它们来包含它们。如果你只是在客户端添加它们,服务器就没有机会知道它们的存在。

于 2018-09-12T09:04:47.927 回答