在编辑表单中,如果我们单击保存按钮,它将执行 action.class.php 文件的执行更新操作。但是当用户按下编辑表单的保存按钮时,我想调用自定义的 executeUpdateSometing 操作函数而不是 executeUpdate 操作。怎么可能实现?
问问题
715 次
1 回答
1
有几种方法可以做到这一点,但都依赖于对路由的一些更改。
- 更改表单操作
在标签<form>
中有 action 属性<form action="">
,您可以更改该属性以输入指向您自定义操作的不同路线,例如:
<form id="my_form" method="POST" action="<?php echo url_for('@route_to_custom_update')?>">
//form fields go here
</form>
当用户单击提交按钮时,这将通过指向客户更新操作的自定义路由提交表单。
- 使用 jQuery
创建一个 jQuery(或 JS)函数来监听表单提交操作,然后通过自定义路由提交表单。
您可以routing.yml
通过更新现有路由来更改文件中的路由
update_form:
url: /update/url
param: { module: your_module, action: updatesomething}
或通过添加新路由并在表单操作或 jQuery Ajax 调用中使用该路由
something_update_form:
url: /something/update/url
param: { module: your_module, action: updatesomething}
注意:如果您添加另一个路由,则 URL 需要与现有的更新 URL 不同。
Symfony 1.4 文档有更多关于表单提交和路由的细节
于 2013-09-09T11:59:09.243 回答