我需要在提交另一个表单后重建一个表单(此表单为我提供了第二个表单所需的值),这两个表单位于同一页面中,因此hook_form_alter只能在页面构建时调用。
我尝试在第二个表单上添加一个Ajax回调来重建它,但是不起作用,我也尝试使用ajax_command_replace但也不起作用。
我真的不知道该怎么办,你有想法吗?
答案 0 :(得分:0)
两个选项:
1:Form1提交->重定向到同一页面-> PHP获取表单值->将值放入form2中,使用form_alter
2:Form1提交-> Ajax更改form2值。您可能需要将它们合并到相同的表单ID
示例模块提供了有关表单Ajax的所有编码,例如“添加更多”按钮
https://www.drupal.org/project/examples
安装示例模块后,启用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, );