【问题标题】:Using jQuery to POST a Symfony form使用 jQuery 发布 Symfony 表单
【发布时间】:2010-05-12 15:16:34
【问题描述】:

我将 jQuery 与 Symfony 1.3.2 结合使用。

我已经用 jQuery 注册了表单的提交按钮点击事件,以便 jQuery POST 到服务器上的正确操作。

我的代码如下所示:

$(document).ready(function(){
  $('#form_btn').click(function(){
     $.ajax( {'type': 'POST', 'url': '/form_handler.php' });
  });
});

但是(也许不出所料 - 因为我没有发送任何数据),在服务器端,没有 POST 变量并且表单字段不可用。

例如:

$request->getParameter($this->form->getName());

返回空值。

有人知道我如何使用 jQuery 发布 Symfony 表单吗?

[编辑]

对于那些可能不熟悉 Symfony 的人,我在这里要问的是如何使用 jQuery 发布表单值。

【问题讨论】:

  • 您应该在form.submit 操作而不是按钮的button.click 上使用它,因此如果他们在其中一个输入中按回车,它仍然可以工作。

标签: jquery symfony1


【解决方案1】:

您必须将表单中的所有输入字段添加到 .ajax() 调用中,类似于

$.ajax({'type': 'POST', 'url': '...', 'data': form_data });

其中 var form_data 是输入元素的值 - 请参阅此处了解如何获取它们: Obtain form input fields using jQuery?

一个例子是

var form_data = $('#myForm').serialize();

【讨论】:

  • +1 感谢您的快速响应。我正在阅读您现在发送的链接
  • var form_data = $('#myForm').serialize();
  • 是的,您应该使用 serialize() ... 而 Symfony 1.3/1.4 中的替代方法是使用 sfJQueryReloadedPlugin,它有一个 submit_to_remote 方法来处理 Ajax 表单提交。我个人更喜欢自己写,就像你现在所做的那样。该插件会带来一些开销。
猜你喜欢
  • 1970-01-01
  • 2011-08-25
  • 1970-01-01
  • 2011-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-24
相关资源
最近更新 更多