Drupal 7 在Drupal Webforms中将两个文本字段复制并关联到另一个文本字段

Drupal 7 在Drupal Webforms中将两个文本字段复制并关联到另一个文本字段,drupal-7,Drupal 7,我有两个选择作为类型和类别。第三个是名为Index的文本字段。类型值为1,2,3,4,5,类别为A,B,C,D,E 我想自动获取索引中的值为4A或1E,具体视用户选择的情况而定。嘿,我尝试了这个方法及其工作原理,您可以在构建和jQuery之后使用hook\u form\u alter来实现 首先,使用所需字段创建您的Web表单。 然后创建一个自定义模块并使用hook\u form\u alter,我在下面添加了一个示例代码,您只需要将“hook”替换为模块名,“your\u webform\u

我有两个选择作为类型和类别。第三个是名为
Index
的文本字段。类型值为
1
2
3
4
5
,类别为
A
B
C
D
E


我想自动获取索引中的值为
4A
1E
,具体视用户选择的情况而定。

嘿,我尝试了这个方法及其工作原理,您可以在构建和jQuery之后使用hook\u form\u alter来实现

首先,使用所需字段创建您的Web表单。 然后创建一个自定义模块并使用hook\u form\u alter,我在下面添加了一个示例代码,您只需要将“hook”替换为模块名,“your\u webform\u id”替换为webform id

function hook_form_alter(&$form, &$form_state, $form_id){
    //to check your webform id.
    //drupal_set_message($form_id);

    if($form_id == "your_webform_id"){
        $form['#after_build'] = array('_webform_after_build_handler');
    }
}

function _webform_after_build_handler(&$form, &$form_state){
    //*change the webform field id's as per your form*

    drupal_add_js('jQuery(document).ready(function(){ 
    var typ = jQuery("#edit-submitted-type").val();
    var cat = jQuery("#edit-submitted-category").val();
    if(cat != "" && typ != ""){
            jQuery("#edit-submitted-index").val(typ + cat);
        }
    jQuery("#edit-submitted-category").change(function(e){
        var typ = jQuery("#edit-submitted-type").val();
        var cat = jQuery(this).val();
        if(cat != "" && typ != ""){
            jQuery("#edit-submitted-index").val(typ + cat);
        }
    });
    jQuery("#edit-submitted-type").change(function(e){
        var typ = jQuery(this).val();
        var cat = jQuery("#edit-submitted-category").val();
        if(cat != "" && typ != ""){
            jQuery("#edit-submitted-index").val(typ + cat);
        }
    });', 'inline');
    return $form;
}

希望这能对您有所帮助。

嘿,我已经尝试过这个方法,它的工作原理,您可以使用hook\u form\u alter、after\u build和jQuery来完成

首先,使用所需字段创建您的Web表单。 然后创建一个自定义模块并使用hook\u form\u alter,我在下面添加了一个示例代码,您只需要将“hook”替换为模块名,“your\u webform\u id”替换为webform id

function hook_form_alter(&$form, &$form_state, $form_id){
    //to check your webform id.
    //drupal_set_message($form_id);

    if($form_id == "your_webform_id"){
        $form['#after_build'] = array('_webform_after_build_handler');
    }
}

function _webform_after_build_handler(&$form, &$form_state){
    //*change the webform field id's as per your form*

    drupal_add_js('jQuery(document).ready(function(){ 
    var typ = jQuery("#edit-submitted-type").val();
    var cat = jQuery("#edit-submitted-category").val();
    if(cat != "" && typ != ""){
            jQuery("#edit-submitted-index").val(typ + cat);
        }
    jQuery("#edit-submitted-category").change(function(e){
        var typ = jQuery("#edit-submitted-type").val();
        var cat = jQuery(this).val();
        if(cat != "" && typ != ""){
            jQuery("#edit-submitted-index").val(typ + cat);
        }
    });
    jQuery("#edit-submitted-type").change(function(e){
        var typ = jQuery(this).val();
        var cat = jQuery("#edit-submitted-category").val();
        if(cat != "" && typ != ""){
            jQuery("#edit-submitted-index").val(typ + cat);
        }
    });', 'inline');
    return $form;
}

希望这对您有所帮助。

您应该发布您尝试过的代码。有关更多信息,请访问我们的页面。您应该发布您尝试的代码。更多信息,请访问我们的页面。