我想知道是否有人可以帮助我更新此处详细说明的代码(http://oif.eafarris.com/blog/pre-fill-cck-node-fields-based-on-a-node-re ...)对于Drupal 7.该帖子中描述的功能与我在Drupal 7网站上要做的功能完全相同,但我不是很熟悉,而且我自己也不是很精通。
我有一个内容类型事件。在Event的节点创建表单中,我有一个“Client”的自动填充字段。下面是名称,地址等的附加字段。我希望在这里实现的最终结果是:
用户在自动填充客户端字段中输入客户名称。
输入的客户名称与现有客户端匹配并被选中。
使用所选客户端的节点ID,然后会自动填充地址字段。
我有一个带有nid参数的JSON视图,该视图会在网址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);
非常感谢任何帮助。
感谢。
答案 0 :(得分:0)
不要编写自己的javascript尝试使用几个drupal的社区模块来处理它。查看: http://drupal.org/project/conditional_fields http://drupal.org/project/computed_field/
您可以使用条件字段隐藏地址,直到放入客户端信息。然后使用计算字段搜索客户端并自动填充地址字段。