2010-07-15 76 views
3

我有一个自定义模块,其中我使用drupal提交提交表单。即使用mymodule_submit()函数。我想用jquery ajaxify这个提交。什么是在drupal中进行Ajax化的先决条件?如何返回值和所有? 有人请帮忙。在此先感谢如何做一个Drupal表单提交使用Ajax?

+0

不能相信你没有得到一个体面的回应 - 任何更新你的最终? – Yarin 2011-10-30 18:38:48

回答

1

一些高层次的概念是很重要的:

  • 做低谷形式的API。从技术上说,你可以规避它并编写你自己的form-tags(用纯HTML),但是它带来了更多的问题,然后它的价值。
  • 改变任何形式的行为,在所谓的hook_form_alter()
  • 做改变外观的任何形式的and feeltheme layer
  • 做然后你就可以Ajax化的行为添加到使用AHAH一个主题。请注意,在Drupal中,AHAH略有误称:它只是一个特定的子集,仅适用于表单。
+1

不使用表单API,并生成HTML被视为安全问题。 – kiamlaluno 2010-07-16 13:04:02

+0

问题是关于ajaxifying表单提交 - 你在谈论表单生成。 – Yarin 2011-10-30 18:34:53

1

有2种方式:

  1. 如果你不需要捕获提交响应: 创建一个隐藏的iframe,并改变形式的“目标”属性的iframe的名字。 这可以在表单呈现之后在2个javascript行中完成。

  2. 如果你需要捕获响应: 使用Jquery表单插件,所以在提交之后,你需要给一个回调函数传递他作为参数的响应。