
[英]Getting value from clean URL into a webform hidden field in Drupal 7
[英]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前端来执行此操作,那么我建议以下几点:
一些您想要的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.