问题标签 [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 - Drupal 7 - 根据表单状态更改字段小部件类型(添加/编辑)
我有一个使用自动完成小部件类型的实体引用字段。我想将小部件类型更改为“选择列表”以添加新节点,并在编辑时保持自动完成。
已经两天了,我正在研究这个。我没有找到任何解决方案。
drupal - 尝试使用 Drupal Forms API 获取动态选择列表
所以 Drupal Forms API 有生成选择框的选项。
但是,该示例包含静态信息。我想以“Drupal”的方式生成一个动态选择列表。
这是代码示例:
我希望#options 下的数组变为动态的 - 我是否应该在此之前生成一些东西,将其传递给一个变量并将其放入数组中?我不太确定如何保留此代码的结构,并为动态解决方案插入一种方法。
drupal - drupal 7 file_save_upload 返回 false
我有一个自定义表单,其中包含一个供用户上传图像文件(他们的徽标)的字段。在表单验证钩子中,我实现了 file_save_upload,它不断返回 false。我可以看到文件实际上在上传时保存在正确的位置,那么为什么 file_save_upload 不起作用?
表单域:
验证钩子:
drupal - Drupal 7 - 用数据库中的图像填充自定义表单图像字段
我有一个自定义表单模块,其字段类型为“managed_file”,数据库中有一个条目指向图像的文件路径。
我想在表单首次显示时将此图像预加载到“managed_file”字段中。
我已经尝试分配#default_value
给图像的文件路径,但这没有任何作用。
这样做的最佳方法是什么?
css - 表单验证失败后 Drupal 7 缺少 css 规则
我正在尝试验证我的自定义模块表单。即使我使用 hook_validate 或在提交按钮中使用 #validate 属性,验证也会像魅力一样工作。问题是,在验证失败后,表单会丢失我附加到模块的 css 样式。我正在使用 .info 文件将 css 附加到模块上。我还尝试使用 drupal_add_css 或 #attached 属性在验证函数底部重新附加 css。如果有人有同样的问题,请告诉我。我将不胜感激任何想法或任何帮助。谢谢。
php - 显示上传的图片 - Drupal 7 Form API
这是我供用户上传公司徽标的表单字段:
我想做的是在他们单击“上传”后显示他们的徽标。
我很惊讶这不是表单 API 中内置的一个简单选项......如何才能做到这一点?
drupal - drupal 7控制表单#states可见,也隐藏标题
我有两个表单字段,其中一个取决于另一个,即如果优惠券值为“是”,则显示优惠券代码文本框
在我的 tpl 文件中
当优惠券值为“否”时,优惠券代码不可见,但我也想隐藏标签“优惠券代码”,我该怎么做?
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 的块,没有显示错误。
php - 注意:未定义索引:#value in element_validate_integer_positive()
即使文件实际上存储在正确的目录中Notice: Undefined index: #value in element_validate_integer_positive() (line 4190 of includes\form.inc)
,单击Upload
或Remove
后我也会收到错误消息。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 错误,说它应该在那里。我想我错过了其他一些钩子的实现,但我不知道是哪个。
我在这里想念什么?
forms - 如何在编辑页面显示上传的 managed_file?
我能够使用managed_file
. 该文件保存在正确的目录中,并且记录显示在file_managed
表中。
但是当我编辑表单时,它仍然显示Upload
按钮,类似于我上传文件之前的创建页面。如何使编辑页面看起来像我已经为该特定实体上传了文件?