繁体   English   中英

Drupal 7:Webform:在选择单选按钮时将隐藏字段设置为某个值

[英]Drupal 7: Webform: Set hidden field to some value on radio button selection

我有一个Webform,上面有单选按钮选择列表。

我想基于单选按钮选择设置隐藏文本字段的值。 因此,如果用户选择第一个选项,我希望文本字段将“ First”作为文本,并喜欢这样。

可以做到吗? 我想最终将这个文本字段用于其他处理。

我同意Ben ...您应该通过选择字段选项的语法使用选择字段本身的值,即"safe_key|Some readable option" (不带引号)

因此,您的选择字段选项将具有以下内容:

first|This is some pizza
second|Just the cheese

如果愿意,由于您希望使用值“ First”,因此甚至可以将键大写,即:

First|This is some pizza
Second|Just the cheese

但是,如果您坚持要让select字段更改隐藏字段的值,并且只想通过Drupal 7前端来执行此操作,那么我建议以下几点:

  • 安装以下模块:
    • 每个节点的代码-允许您将自定义CSS / JS添加到内容类型或单个节点
  • 更新您的内容类型设置(即按内容类型或单个节点)
  • 然后,编写一些jQuery或JS在容纳Webform的节点上执行您想要的操作...即:

一些您想要的Javascript :: jQuery:

jQuery( "#my-select-field" )
  .change(function () {
    var str = jQuery(this).text();
    jQuery( "my-hidden-field" ).val( str );
  })
  .change();

最后的“ .change()”调用将触发更改事件,以便您的隐藏字段始终填充有适当的数据...

确保将您的代码放入"jQuery( document ).ready(function() { ... }"调用中,以便在适当的时候进行绑定,从而使页面已完成加载。

*注意:在Drupal 7中,核心jQuery库是由"jQuery"而不是"$"别名引用的

您可以创建一个实现提交功能的模块。 因此,如果您的模块是“ specialFormProcessing”,则可以创建函数:

function specialFormProcessing_mySubmitFunction($form, &$form_state) {
}

在该函数中,您可以在SELECT框中设置隐藏字段的值。

您还应该将函数添加到将处理表单的函数数组中。 将具有您和表单的原始提交功能(取决于表单的内容),以及其他模块已实现的其他功能。 您可以通过在模块中创建一个hook_form_alter()函数来做到这一点:

function specialFormProcessing_form_submit(&$form, &$form_state, $form_id) {
}

您使用$ form_id来确保您使用的是正确的表单,然后执行以下操作:

$form['#submit'][]='specialFormProcessing_mySubmitFunction';

当我学习Drupal和操作Forms时,我发现VanDyk的《 Pro Drupal Development》一书非常有用。 我使用的是Drupal 6,但是他有Drupal 7的较新版本。有人批评说它不能处理某些Drupal 7的新功能,但是对Forms的处理应该不错。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM