我正在使用 Symfony2 和 twig 开发一个应用程序。我想从模板向控制器提交一个值,该值是使用模板中的 Jquery 函数设置的。我为此使用了一个表单和一个隐藏类型字段。这是我的控制器代码:
public function testuaanotatuAction(Request $request)
{
$Interpretatzea = new Interpretatzea();
$Interpretatzea->setMarkagarriaInterpretatua($Markagarria);
$form = $this->createFormBuilder($Interpretatzea)
->add('MarkInterpretazioak', 'hidden')
->getForm();
$Erantzuna = $this->getRequest();
if ($Erantzuna->getMethod() == 'POST')
{
$form->bindRequest($Erantzuna);
if ($form->isValid())
{
return $this->redirect($this->generateUrl('AnotatzaileaAnotatzaileaBundle_FAQ'),
array('proba' => $form->get('MarkInterpretazioak')));
}
}
//Anotatzeko galderaren interfazeari deitu eta azpimarratu beharreko markagarriaren MarkIdent-a pasatu
return $this->render('AnotatzaileaAnotatzaileaBundle:Page:AnotatuInterpretazio.html.twig',
array('form' => $form->createView()));
}
public function FAQAction($proba)
{
return $this->render('AnotatzaileaAnotatzaileaBundle:Page:FAQ.html.twig',array('proba' => $proba));
}
这是模板 AnotatuInterpretazio.html.twig 的一部分,我在其中使用下一个 JQuery 函数将值分配给隐藏字段:
<form action="{{ path('AnotatzaileaAnotatzaileaBundle_testuaanotatu') }}" method="post" {{ form_enctype(form) }} class="erreg">
{{ form_widget(form) }}
<input type="submit" value="Egina" />
</form>
<!-- <a href="{{ path('AnotatzaileaAnotatzaileaBundle_testuaanotatu') }}"><button id="Egina_Botoia">Egina</button></a><br /> -->
<script type='text/javascript'>
$("MatchedTag").click(function ()
{
$(this).toggleClass("highlight");
var Erantzuna = this.id;
$('#hiddenval').val('this.id');//Assigning the value
});
</script>
浏览器显示下一个错误:
The HTTP status code "Array" is not valid.
500 Internal Server Error - InvalidArgumentException
知道为什么会这样吗?