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

Gio*_*dhs 1 forms symfony

我有:

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

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

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

aco*_*ell 6

在html标记中渲染该属性没有问题.您可以使用与使用任何其他属性(class,id ...)相同的方式执行此操作.

例如(我已经改变了一些动作以使其适应我的SF安装):

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

会呈现:

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

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

正如在评论中指出,这将会是更好的做法,附加提交事件使用JS,而不是在HTML标签将它添加的元素.你可以使用jQuery或纯js(这也很简单,不需要总是依赖jQuery).