我们如何使用onsubmit来调用symfony2的js函数

时间:2015-02-08 00:22:26

标签: forms symfony

我有:

{{ form_start(form, {'action': path('admin_user_edit_exec',{'user_id':id,'babis':'777'}),'attr': {'class': 'smart-form userform','id':'formid'} } ) }}

我想添加如下内容:onsubmit:"return validateForm()"
要调用一个js函数但是在语法上挣扎,到处都试图把onsubmit。

表格停止工作,我应该把它放在哪里?

1 个答案:

答案 0 :(得分:6)

在html标记中渲染该属性没有问题。您可以像使用任何其他属性(class,id ...)一样执行此操作。

例如(我已经稍微更改了操作以使其适应我的SF安装):

{{ form_start(form, {'action': path('_demo_hello',{'name':5}),'attr': {'class': 'smart-form userform','id':'formid', 'onsubmit':'return validateForm();'} } ) }}

会呈现:

<form name="contact" method="post" action="/symfony/web/app_dev.php/demo/hello/5" class="smart-form userform" id="formid" onsubmit="return validateForm();">

如果你设置了js函数validateForm,它应该可以工作。无论如何,如果它没有,那将是一个与你的js有关的问题,而不是SF。

正如评论中所指出的,使用js将提交事件附加到元素而不是将其添加到HTML标记中是更好的做法。你可以使用jQuery或纯js(非常straightforward),不需要总是依赖jQuery。