0

在编辑表单中,如果我们单击保存按钮,它将执行 action.class.php 文件的执行更新操作。但是当用户按下编辑表单的保存按钮时,我想调用自定义的 executeUpdateSometing 操作函数而不是 executeUpdate 操作。怎么可能实现?

4

1 回答 1

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> 

当用户单击提交按钮时,这将通过指向客户更新操作的自定义路由提交表单。

  1. 使用 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 回答