0

我有一个自定义模块,这个模块生成一个带有一些按钮的表格。单击按钮时,我使用 Ajax 加载一个表单并将其显示在 div 中。例如,调用该函数的挂钩菜单​​是 /myapp/get_form。

当我必须保存新生成的 div 的一些数据时,问题就来了。我创建了那个 div 来用 ajax 保存数据($form['submit'] = array('#ajax' => array(...))),但是这个新表单不使用 ajax 保存数据,这个表单将数据发布到 /myapp/get_form,但这不是我需要的行为。

所以我有2个问题。

  1. 如何以这种新形式发布使用 ajax 生成的数据?
  2. 可以使用 JQuery 禁用提交并使用 Ajax+JSON 来保存数据(节点)吗?

谢谢!

4

1 回答 1

0

您可以使用 jQuery .submit 方法来防止默认提交行为并通过 $.post 处理它

请注意,某些字段/模块和#ajax 内容需要包含在整个页面加载中的其他 javascript。

要获取它们,您应该使用类似 $js_list = drupal_add_js() 的方式检索它们,然后使用 jquery 添加到当前页面(例如,将它们作为标签添加到当前页面的头部。)

加载脚本后,调用 Drupal.attachBeahviors() 将新加载的 javascript 功能附加到新表单。

于 2013-04-18T20:26:06.687 回答