我最近开始在表单上使用多个按钮,利用ArrowChoice
方法和为每个按钮指定的验证组。
它工作正常,直到我需要在用户按下特定按钮时询问其他信息。
事情是:每当我在jquery中对按钮的click事件或表单的提交事件执行某些操作时,它会阻止symfony知道按下的按钮,因此它表示clickedButton为null。
例如,当我这样做时:proc
我收到此错误:
"错误:在非对象上调用成员函数getName()"
即使我这样做了:
isclicked ()
对我来说令人费解的是,我在这里看到了做这种事情的建议:
$form->getClickedButton()->getName()
关于提交事件,但是当我这样做时,我似乎无法在我的控制器中找到有关请求的信息。
如何通过点击按钮同时发送其他信息?
百万谢谢
答案 0 :(得分:0)
点击的按钮是使用提交的数据确定的,如果按钮名称显示在POST
或GET
,则该按钮会标记为clicked = true
。
现在,在您的javascript片段中,您正在禁用按钮,并且已禁用的字段/输入不会在提交的数据中显示,因此,sf2无法确定单击了哪个按钮。
正如其他人已建议使用隐藏字段,但是将其添加到表单第一个,然后根据需要使用javascript填充信息。