问题标签 [drupal-forms]

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.

0 投票
3 回答
5621 浏览

drupal - 在 Drupal 中使用单个自定义表单创建多个 CCK 节点

我需要一个允许同时创建多个相关节点的表单。所有节点都涉及 CCK 字段。

我想尽可能/实用地使用 CCK 的内置验证、提交、输入小部件和安全功能。

在 Drupal 6 中完成此任务的最佳方法是什么?任何地方都有“最佳实践”或文档吗?

以下是我可以看到的 3 种可能性。我很想反馈这些是否可行,或者是否有更好的选择。

1.

  • 从内容类型 foo 的标准节点创建表单开始。
  • 通过添加内容类型栏的字段来修改表单,使用钩子 form_alter [可以直接插入内容类型栏的 cck 小部件吗?]
  • 提交表单时使用自定义提交处理程序创建 bar 类型的节点[可以调用标准 cck 处理程序吗?还是我需要“手动”构造节点对象,进行自己的验证并使用 node_save?]

2.

  • 创建一个新的自定义表单,用于连接相关内容类型的“正常”节点创建表单。
  • 然后根据需要使用钩子 form_alter 修改表单。
  • 允许标准的 cck 提交处理程序来完成创建节点的工作。

3.

  • 从头开始创建自定义表单
  • 在我自己的提交处理程序中创建节点,使用节点准备、节点保存等。

如果找到关于重用标准节点创建表单的文档,但没有提到同时创建多个节点。

advomatic 网站上的一篇文章中记录了使用钩子 nodeapi 和钩子 form_alter,但特定方法 descube 似乎需要使用“虚拟”字段污染其中一种内容类型。

非常感谢您的帮助!

0 投票
2 回答
721 浏览

drupal - 联系表格模块

我是初学者,我尝试使用 Contact 模块,但它限制用户至少一个小时才能发送第二个帖子。有没有办法克服这个限制?

0 投票
2 回答
6289 浏览

drupal - Drupal 和评论表

我需要将评论表单直接插入到节点模板中(我使用node- type .tpl.php 来设置 node-type 的主题)。

在相关问题中,如果我转到 /comment/reply/NID 我会收到评论表单,但它只有“预览”按钮,没有提交按钮。按下时,预览按钮什么也不做。

谢谢您的帮助!

0 投票
2 回答
518 浏览

drupal - 如何在 Drupal 表单中添加附加消息

我想要对自定义 Drupal 表单的附加说明,类似于 hook_help,但在表单的底部。是否有可用的功能或挂钩?

0 投票
4 回答
741 浏览

drupal - Drupal 表单中的 AJAX?

您将如何构建一个通过 Drupal 使用 AJAX 的逐步表单来拉下一个表单步骤?

例如,

当那个人点击喜欢或不喜欢时,我想使用 AJAX 识别并拉出表单的下一部分,删除/隐藏第一部分,因为它不需要,然后显示下一部分。

例子:

通过 Drupal Form API 执行此操作的最佳方法是什么?我知道如何构建表单和模块,但我从未使用过 AJAX。我知道那里有一些应该有帮助的东西,但我想知道这里是否有人做过,以及他们是如何处理的。

0 投票
2 回答
1022 浏览

drupal - 删除在 drupal 中验证失败的表单元素上的红色轮廓

当一个 drupal 表单验证失败时,它会用红色边框包围的验证失败的元素重新绘制。Drupal 通过将error类添加到输入元素并在system.css.

在不修改此样式表的情况下,如何仅删除特定表单上的红色边框,同时在站点的其余部分使用默认行为?

我相信该解决方案可能需要使用 custom theme_form_element,但我无法弄清楚如何仅自定义单个表单。

请注意,我想这样做而不必求助于这个 jQuery 技巧(确实有效):

0 投票
1 回答
2275 浏览

drupal - Drupal Ctools Form Wizard in a Block

I created a custom module that has a Ctools multi step form. It's basically a copy of http://www.nicklewis.org/using-chaos-tools-form-wizard-build-multistep-forms-drupal-6.

The form works. I can see it if I got to the url i made for it.

For the life of me I can't get the multistep form to show up in a block.

Any clues?

0 投票
1 回答
680 浏览

javascript - Drupal 动态字段类型切换

我在 Drupal 中有一个表单字段,我需要一些帮助。

要求是让该字段显示为一个简单的输入字段,但在其上设置一个切换按钮,该按钮会将其转换为多行文本框,供希望输入更多数据的用户使用。

在传统的 PHP/HTML/Javascript 中,这很容易——两个字段;一种具有可见性的样式:隐藏;以及按钮上的简短 js 函数来切换两个字段的可见性样式。

但我看不出如何将这个概念转化为 Drupal 表单 API。任何人都可以帮忙吗?

顺便说一下,我对 PHP 有经验,但对 Drupal 绝对是初学者。我仍然在摸索它,所以如果我问了一些非常明显的问题,请耐心等待。

0 投票
2 回答
2122 浏览

php - 验证中的重定向表单失败

我有一种情况,如果我的表单没有验证,我需要它从 url 中删除除第一个参数之外的所有参数。这样做的原因是因为我的表单的结果显示在内容区域的表单下方。如果表单未通过验证,我需要删除任何以前的结果。

我在我的 form_validate 函数中尝试了以下内容。

目标页面显然是相同的,除了第一个参数之外的所有参数都被剥离。问题是 Drupal 忘记了之前的表单状态和 form_validate 函数引发的错误。

我还尝试更改我的 form_validate 函数中的 #redirect 值,但无济于事。

有什么建议么?

0 投票
2 回答
1516 浏览

drupal - 如何在 Drupal 中获取表单元素的标题?

例如,在注册表单中,有“用户名”和输入 type="text" name="name" ... 的文本字段。

我需要知道如何从输入字段的名称中获取标题。

我期待这样的功能:

结果:

Drupal中有这样的东西吗?

谢谢。