Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Forms Drupal 7-创建相关的自动完成表单字段_Forms_Drupal_Autocomplete_Drupal 7 - Fatal编程技术网

Forms Drupal 7-创建相关的自动完成表单字段

Forms Drupal 7-创建相关的自动完成表单字段,forms,drupal,autocomplete,drupal-7,Forms,Drupal,Autocomplete,Drupal 7,我想知道是否有人可以帮助我更新这里详细的代码(http://oif.eafarris.com/blog/pre-fill-cck-node-fields-based-on-a-node-re...)对于Drupal7。这篇文章中描述的函数与我在Drupal7站点上要做的是一样的,但我对编程方面还不够精通,无法自己完成 我有一个内容类型的事件。在事件的节点创建表单上,我有一个“客户端”的自动完成字段。下面是姓名、地址等的附加字段。我希望在这里实现的最终结果是: 用户在“自动完成客户端”字段中输入客

我想知道是否有人可以帮助我更新这里详细的代码(http://oif.eafarris.com/blog/pre-fill-cck-node-fields-based-on-a-node-re...)对于Drupal7。这篇文章中描述的函数与我在Drupal7站点上要做的是一样的,但我对编程方面还不够精通,无法自己完成

我有一个内容类型的事件。在事件的节点创建表单上,我有一个“客户端”的自动完成字段。下面是姓名、地址等的附加字段。我希望在这里实现的最终结果是:

  • 用户在“自动完成客户端”字段中输入客户端名称

  • 输入的客户端名称与现有客户端匹配,并且已选中

  • 使用所选客户端的节点ID,然后自动填充地址字段

  • 我有一个带有nid参数的JSON视图,它在url处吐出所需字段http://domain.com/json-clients/[nid]。但我无法将该信息返回到表单上的正确字段

    下面是我修改的代码,试图让它与D7一起工作。有人看到这些明显的错误并愿意帮忙吗

    (function ($) {
        Drupal.behaviors.sponsorhelper = function () {
            $("input[name='field_client[und][0][nid]']").blur(function() {
    
                nidRegEx = /\[nid:(\d+)\]/;
    
                SponsorHelper.fill($(this).attr('value').match(nidRegEx)[1]);
    
            })
        };
    
        SponsorHelper.fill = function(nid) {
            var url = Drupal.settings.basePath + 'json-clients/' + nid;
    
            jQuery.getJSON(url, function (data, result) {
                if (result != 'success') {
                    return;
                }
    
                $("input[name='field_address_1[und][0][value]']")
                    .attr('value',data.nodes[0].node.field_address_1_value);
    
                $("input[name='field_address_2[und][0][value]']")
                    .attr('value',data.nodes[0].node.field_address_2_value);
            })
        };
    })(jQuery);
    
    非常感谢您的帮助


    谢谢。

    不要编写自己的javascript,试着用几个drupal社区模块来处理这个问题。退房: http://drupal.org/project/computed_field/


    您可以使用条件字段隐藏地址,直到输入客户端信息。然后使用计算字段搜索客户端并自动填充地址字段。

    谢谢您的帮助。我为延迟响应表示歉意-因为其他几个项目而偏离了方向,但我现在将对此进行检查。听起来很合适。