问题标签 [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.

0 投票
1 回答
1906 浏览

drupal - Drupal 7 - 根据表单状态更改字段小部件类型(添加/编辑)

我有一个使用自动完成小部件类型的实体引用字段。我想将小部件类型更改为“选择列表”以添加新节点,并在编辑时保持自动完成。

已经两天了,我正在研究这个。我没有找到任何解决方案。

0 投票
2 回答
3637 浏览

drupal - 尝试使用 Drupal Forms API 获取动态选择列表

所以 Drupal Forms API 有生成选择框的选项。

但是,该示例包含静态信息。我想以“Drupal”的方式生成一个动态选择列表。

这是代码示例:

我希望#options 下的数组变为动态的 - 我是否应该在此之前生成一些东西,将其传递给一个变量并将其放入数组中?我不太确定如何保留此代码的结构,并为动态解决方案插入一种方法。

0 投票
1 回答
3693 浏览

drupal - drupal 7 file_save_upload 返回 false

我有一个自定义表单,其中包含一个供用户上传图像文件(他们的徽标)的字段。在表单验证钩子中,我实现了 file_save_upload,它不断返回 false。我可以看到文件实际上在上传时保存在正确的位置,那么为什么 file_save_upload 不起作用?

表单域:

验证钩子:

0 投票
1 回答
2494 浏览

drupal - Drupal 7 - 用数据库中的图像填充自定义表单图像字段

我有一个自定义表单模块,其字段类型为“managed_file”,数据库中有一个条目指向图像的文件路径。

我想在表单首次显示时将此图像预加载到“managed_file”字段中。

我已经尝试分配#default_value给图像的文件路径,但这没有任何作用。

这样做的最佳方法是什么?

0 投票
2 回答
682 浏览

css - 表单验证失败后 Drupal 7 缺少 css 规则

我正在尝试验证我的自定义模块表单。即使我使用 hook_validate 或在提交按钮中使用 #validate 属性,验证也会像魅力一样工作。问题是,在验证失败后,表单会丢失我附加到模块的 css 样式。我正在使用 .info 文件将 css 附加到模块上。我还尝试使用 drupal_add_css 或 #attached 属性在验证函数底部重新附加 css。如果有人有同样的问题,请告诉我。我将不胜感激任何想法或任何帮助。谢谢。

0 投票
2 回答
8855 浏览

php - 显示上传的图片 - Drupal 7 Form API

这是我供用户上传公司徽标的表单字段:

我想做的是在他们单击“上传”后显示他们的徽标。

我很惊讶这不是表单 API 中内置的一个简单选项......如何才能做到这一点?

0 投票
1 回答
1972 浏览

drupal - drupal 7控制表单#states可见,也隐藏标题

我有两个表单字段,其中一个取决于另一个,即如果优惠券值为“是”,则显示优惠券代码文本框

在我的 tpl 文件中

当优惠券值为“否”时,优惠券代码不可见,但我也想隐藏标签“优惠券代码”,我该怎么做?

0 投票
1 回答
51 浏览

php - Drupal 6 上的 form_set_error 使用两个相同的表单

我正在使用 Drupal 6,我想创建一个块,它显示一个也可以在子页面上找到的表单。

为此,我创建了一个带有验证处理程序 form_validate() 和提交处理程序 form_submit() 的 drupal 表单 API Form form()。然后,我添加了一个表单 API form widget_form(),它与 ​​form() 基本相同 - 只是进行了细微的样式调整,验证/提交处理程序设置为 form_validate() 和 form_submit(),我也将操作更改为显示 form() 的子页面。

这很好用,但是如果出现验证错误(使用 widget_form() 时),drupal 会标记块格式,而不是子页面上的那个。

这似乎按设计工作,但不是我想要的必需行为。那么,有什么办法可以改变呢?(我想要 form() - form,而不是 widget_form() 上显示的错误)

谢谢!

编辑:我试图在显示 form() 表单的页面上隐藏包含 widget_form()-Form 的块,没有显示错误。

0 投票
1 回答
656 浏览

php - 注意:未定义索引:#value in element_validate_integer_positive()

即使文件实际上存储在正确的目录中Notice: Undefined index: #value in element_validate_integer_positive() (line 4190 of includes\form.inc),单击UploadRemove后我也会收到错误消息。managed_file

这是相关的片段:

我正在使用 PHP 5.3.6 在 XAMPP 上运行该实例。降级到 PHP 5.2.9 并没有解决其他论坛中指出的问题。

当我使用 Chrome 来检查 ajax 请求 URL 时,我看到的消息也可以通过查看file/ajax/image/file/form-wRaEJ-JRPqC7q6BSbp6Ccxi_9X1cpiaBzhwlIs9NFd0我找到的/admin/reports/dblog

错误消息 发生不可恢复的错误。上传的文件可能超过了此服务器支持的最大文件大小 (512 MB)。

请注意,我只上传了一个 100kb 的文件。

4190行includes/form.inc如下:

更新:事实证明,问题不仅在于managed_file,还在于表单本身。单击提交按钮会显示相同的错误。

目前,我hook_form_validate的情况如下:

删除它会给我一个 Drupal 错误,说它应该在那里。我想我错过了其他一些钩子的实现,但我不知道是哪个。

我在这里想念什么?

0 投票
1 回答
736 浏览

forms - 如何在编辑页面显示上传的 managed_file?

我能够使用managed_file. 该文件保存在正确的目录中,并且记录显示在file_managed表中。

但是当我编辑表单时,它仍然显示Upload按钮,类似于我上传文件之前的创建页面。如何使编辑页面看起来像我已经为该特定实体上传了文件?