问题标签 [form-api]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
drupal-6 - Drupal 6 Form-API 设置回复地址
我在 Drupal 6 中使用 Form API 编写了一个表单。其他一切都很好,但是我可以使用 From 值编写一个标头 Reply-to 而不是 drupal_mail 吗?
我尝试将其放入模块内的常规 hook_mail 函数中:
有没有一种非hacky的方法来做到这一点?我们有一个由系统管理员控制的多站点安装,所以我无法进入核心更改内容。
drupal - Drupal 6:创建表单以创建节点..!
我正在创建一个包含 4 个字段的自定义表单,并且我想创建一个具有一些 CCK 字段的特定内容类型的节点。
我打算在提交此表单时以编程方式创建节点。我计划为某些字段推送默认值,并且某些字段将使用此表单小部件映射..
这是我的代码
现在,当我提交此内容时,它正在创建内容类型,其中文本字段文本作为标题和正文,我打算这样做......但我想将 UID(登录用户 ID)存储在表节点的 uid 列中...我已经尝试过,如您所见...但它仍然发送 0...我需要帮助...请帮助
drupal-6 - 具有ahah属性的Drupal 6文本字段表单元素
我有一个带有文本字段元素的表单,当用户开始输入时,我想预先填充不同的元素。
我一直在使用 #ahah 属性,该属性在将事件属性设置为“keyup”时效果很好,但是我失去了对 textfield 元素的关注,因为在触发“keyup”事件的那一刻,由于 ahah 的行为,整个表单被重建。
我尝试将事件属性设置为“更改”,并且效果很好但是为了触发“更改”事件,我需要从文本字段中单击 - 所以从 UI 的角度来看,我不能指望用户点击离开字段以显示结果。
我不确定是否可以通过 AHAH 实现我想要的,这很好,但如果可能的话,我想坚持下去。
如果需要,很乐意提供代码,如果不清楚,很抱歉,很难解释。
谢谢史蒂夫
api - Drupal 7 Form Invalid foreach with tableselect 编辑 - 如何从 tableselect 中删除选定的行
我要做的是使用表单 API 创建一个选择列表,用户可以在其中选择行并按下删除按钮,该按钮从数据库中删除选定的行,并重新加载具有已删除选定行的配置的表。使用我当前的代码,当我点击删除按钮时,我收到此错误:
警告:为 form_execute_handlers() 中的 foreach() 提供的参数无效(C:\xampp\htdocs\amaware\includes\form.inc 的第 1431 行)。
这是代码:
任何帮助都深表感谢。
编辑:我编辑了我的 news_letter_table_form 以阅读:
新的输出让我对如何识别选定的行并从数据库中删除它们感到困惑。使用上面的 newsletter_table_form_delete 我得到以下输出:
- 如果我选择第一行没有任何反应
- 如果我选择第二行输出为 1
- 如果我选择第三行,则输出为 2,依此类推
- 如果我选择多行,则输出是所选行的无序 html 列表。
我现在很好奇如何获取我现在拥有的内容并对其进行更改,以便我可以从数据库中删除选定的行。
再次感谢!
drupal-7 - Drupal 7 - 从表单 API 中的 DB 填充下拉选择
我对 PHP 还是很陌生,甚至对 Drupal 的 Form API 也很陌生。我只是想从数据库中填充下拉选择。我认为这个问题源于我对如何使用多维数组缺乏深入的了解。真诚感谢任何帮助。
我的代码目前是:
这会返回一个填充列表,但会以粗体显示年份 ID 以及年份(例如 2008 年)。
如何让下拉菜单仅显示年份,而不是粗体显示年份 ID,然后显示年份。似乎 $option 只是比我想要的高一个级别?如果这有意义吗?
提前谢谢了。
drupal - 在drupal 7中更改表单元素的“必需”属性
我有一些某种形式的需要字段,我希望它们在某个地方需要,而在另一个地方不需要(我想要它们,也许你建议我在 cck 中使用存在字段,但这个字段不在 cck 中。)我使用了 profile2 模块对于某些配置文件类型,我希望在配置文件类型编辑页面中作为示例name
字段是必需的,并且在用户注册name
字段中不需要。我尝试在表单更改中更改字段的#require
属性name
,它已正确更改,但在验证中告诉我该name
字段是必需的。
在
任何的想法 ?
module - 使用 drupal_write_record 将提交的表单内容插入数据库
我是drupal的新手,我想做的是我的第一个模块,所以希望你能理解我。我创建了一个注册模块,并想通过drupal_write_record将其连接到数据库,但我不知道该怎么做。我从drupal网站上阅读了如何使用这种方法,但仍然无法做到。
你能帮我解决这个问题吗?
这是我的模块的样子:
使用这种方法,但不是我需要的:
My_module.install 文件:
出了什么问题以及如何解决?
jquery - Drupal 7:在表单 API 中从外部触发 AJAX 回调
简而言之:
我正在尝试通过 jQuery 触发外部事件,从而导致 Drupal 表单上的 AJAX 回调被执行。这将重建几个链式元素。它工作一次,然后中断,直到表单被 Drupal 中的不同元素刷新。
form_state 在第一次尝试时检测到正确的元素作为触发元素,但之后默认为 form_state['buttons'] 数组中的第一个可用按钮。有什么想法吗?
详细地:
我有一个复杂的 Drupal 表单,如下所示:
一个(下拉)
B(实际上是B_key和B_literal,2个文本字段)C(下拉)D(下拉)E(下拉)
其中A刷新B,B刷新C,C刷新D,以此类推。除了 B 之外,这些都是下拉元素。每个项目都是一个 key => value 对,我们使用 key 来重建它刷新的元素中的选项。因此,B 的键刷新了 C 中的选项,因为 C 的键用于 D 的选项。
这些完全构建为 Drupal AJAX 回调,并且可以正常工作。但是,B 不是选择,而是 2 个单独的文本字段,1 个是键,1 个是文字。我们这样做是为了对 B 进行 AJAX 自动完成查找,因为列表太大而无法使用选择元素。
我编写了一个外部 jQuery 脚本来执行此查找,并填充这两个字段(B_key 和 B_literal)。一旦我们填充它们,我们就会触发一个自定义事件,由字段的 'ajax' => 'event' => 'hs_changed' 引用,我们在 jQuery 中使用 jQuery('[name=b_literal]').trigger 手动触发该事件()。这在我第一次执行此操作时有效,导致 C 使用一组新选项进行重建。
但是,一旦这种情况发生一次,它就不再重建。我追踪了 form_state,并注意到当为 B 选择一个新值时,表单状态认为一个按钮已被单击(以 form_state['buttons'] 数组中的第一个按钮为准),导致此操作失败。
现在,当我重新加载 A 时,这通常具有 B 的预设值,因此所有子字段(B、C、D、E)都会正确刷新。一旦发生这种情况,我可以再次手动选择 B,它会像以前写的那样工作,如果我们再试一次就会失败。应该注意的是,我的 jQuery 没有绑定问题,因为它仍然能够找到 B 的字段,并更新了值。它手动触发自定义事件(触发drupal字段的ajax),在我们第一次触发后每次都会失败。
这是我们的代码:
表格:
回调:
jQuery:
我已经简化了一切,因为有很多逻辑超出了这个问题的范围。自动完成不是问题。触发 b_literal 字段附加的 Drupal AJAX 激活,导致刷新 c、d 和 e,在第一次之后不起作用,除非我们点击字段 a,它通过 Drupal 的 Form API 在内部刷新了 b、c、d 和 e AJAX 逻辑。
Form_state(第一次正确执行):
[triggering_element] => 数组 ( [#type] => 文本字段 [#title] => B [#description] => [#default_value] => [#size] => 32 [#maxlength] => 255 [#required ] => 1 [#disabled] => [#ajax] => 数组 ( [callback] => b_ajax_callback [method] => replace [effect] => fade [event] => hs_changed )
Form_state (第二次不正确执行,之后每次):
drupal-7 - 使用表单更改添加的 Drupal 按钮导致 common.inc 中的致命错误
我在 Drupal 7 中使用表单更改向节点表单添加另一个按钮:
我已添加$form_state['rebuild'] = TRUE;
以在按下按钮时保留表单值。我第一次按下这个按钮,第二次按下我的自定义按钮,它给了我以下错误:
然后当我重新加载页面时, drupal_set_message() 报告以下内容:
如果我取出$form_state['rebuild'] = TRUE;
,错误就会消失。但是随后表单值不会被保留。有什么想法可以在不遇到此错误的情况下保留表单值吗?
drupal - Drupal 7 - 表单 API 自定义模块
我有一个计算两个值的表单,表单工作得很好,但是我在弄清楚如何计算这两个值并将答案作为呈现的 HTML 返回时遇到了一些问题,所以我可以将它的样式设置得漂亮漂亮,让用户看到.
所有帮助将不胜感激。谢谢。