ajax - Drupal 如何在没有 hook_form_alter 的情况下重建 à 表单
问题描述
我需要在另一个表单提交后重建一个表单(这个表单给了我第二个表单需要的值),这两个表单在同一个页面中,所以 hook_form_alter 只能在页面构建时调用。
我尝试在我的第二个表单上添加一个 Ajax 回调来重建它但不起作用,我也尝试了一个 ajax_command_replace 但也不起作用。
我现在真的不知道该怎么办,你有什么想法吗?
解决方案
两种选择:
1:Form1 提交 -> 重定向到同一页面 -> PHP 获取表单值 -> 将值放入 form2 使用 form_alter
2:Form1 提交 -> Ajax 更改 form2 值。您可能需要将它们合并到相同的表单 ID
示例模块提供有关表单 Ajax 的所有编码,例如“添加更多”按钮
https://www.drupal.org/project/examples
安装示例模块后,启用 ajax_example,访问路径示例/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, );
推荐阅读
- flutter - Cupertino 选项图块,ios 设置页面样式
- node.js - 在构建 React 应用程序时获取 MaxListenersExceededWarning
- sql-server - 在 TSQL 中声明一个变量
- etl - 我们应该将复杂的解析逻辑放在 Athena 中或使用 Glue
- python - python中对象列表的问题
- machine-learning - 正态分布数据的回归问题
- ios - 浏览 ViewController 时声音停止
- android - 结合 ScrollView 和固定工具栏的约束布局
- swift - 如何在 KeyPath 中使用“Self.attr”?
- javascript - 如何从另一个模板中搜索变量