2012-08-17 37 views
0

我想知道是否有人可以幫助我更新這裏詳細的代碼(http://oif.eafarris.com/blog/pre-fill-cck-node-fields-based -on-a-node-re ...)用於Drupal 7.在該文章中描述的功能與我在Drupal 7網站上所做的相同,但我沒有精通編程來自己做。Drupal 7 - 創建依賴自動填充表單域

我有一個內容類型的事件。在Event的節點創建表單中,我有一個「客戶端」的自動填充字段。以下是用於名稱,地址等附加字段最終的結果,我希望在這裏實現的是:

  1. 用戶在自動完成客戶字段中輸入客戶名稱。

  2. 輸入的客戶端名稱與現有的客戶端名稱匹配並被選中。

  3. 使用所選客戶端的節點ID,然後自動填充地址字段。

我有與吐出在URL http://domain.com/json-clients/[nid]所需的字段一個NID論點一個JSON視圖。但是我無法將該信息返回到表單上的正確字段。

下面是我修改過的代碼,試圖讓它與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

而不是編寫自己的JavaScript嘗試處理這與幾個Drupal的社區模塊。退房: http://drupal.org/project/conditional_fields http://drupal.org/project/computed_field/

可以有條件我們領域的隱藏地址,直到客戶信息放在然後用計算領域尋找客戶和經銷商填寫地址字段。

+0

感謝您的幫助。我對延遲反應表示歉意 - 被其他幾個項目弄錯了,但我現在要檢查一下。聽起來很合適。 – user1055810 2012-09-14 21:42:55