Drupal如何在不使用hook_form_alter的情况下重建àform

时间:2018-08-02 05:52:36

标签: ajax forms drupal drupal-7

我需要在提交另一个表单后重建一个表单(此表单为我提供了第二个表单所需的值),这两个表单位于同一页面中,因此hook_form_alter只能在页面构建时调用。

我尝试在第二个表单上添加一个Ajax回调来重建它,但是不起作用,我也尝试使用ajax_command_replace但也不起作用。

我真的不知道该怎么办,你有想法吗?

1 个答案:

答案 0 :(得分:0)

两个选项:

1:Form1提交->重定向到同一页面-> PHP获取表单值->将值放入form2中,使用form_alter

2:Form1提交-> Ajax更改form2值。您可能需要将它们合并到相同的表单ID

示例模块提供了有关表单Ajax的所有编码,例如“添加更多”按钮

https://www.drupal.org/project/examples

enter image description here

安装示例模块后,启用ajax_example,请访问路径 examples / ajax_example / dependent_dropdown_degrades_no_js 在ajax_example中,您将获得所有编码帮助来解决您的问题。尝试阅读。 :)

    $items['examples/ajax_example/dependent_dropdown_degrades_no_js'] = array(
    'title' => 'Dependent dropdown with javascript off',
    'page callback' => 'drupal_get_form',
    'page arguments' => array('ajax_example_dependent_dropdown_degrades', TRUE),
    'access callback' => TRUE,
    'file' => 'ajax_example_graceful_degradation.inc',
    'weight' => 5,   );
相关问题