2017-02-03 41 views
0

我試圖使用加拿大郵政Address Complete我的表格上這樣加拿大郵政AddressComplete「填充」不工作

var fields = [ 
         { element: "street_address", field: "Line1" }, 
         { element: "city_address", field: "City", mode: pca.fieldMode.POPULATE }, 
         { element: "postal_code", field: "PostalCode", mode: pca.fieldMode.POPULATE }, 
         { element: "country", field: "CountryName", mode: pca.fieldMode.COUNTRY } 
        ], 
     options = {key: KEY}, 
     control = new pca.Address(fields, options); 

    addressComplete.listen('load', function(control) { 
      control.listen("populate", function (address) { 
       if(address.ProvinceCode == "ON"){ 
       console.log("ONTARIO"); 
        document.getElementById('province').selectedIndex = 2; 
       } 
       else if(address.ProvinceCode == "QC"){ 
        document.getElementById('province').selectedIndex = 3; 
       } 
      }); 
     }); 

我能搜索地址,並有一些領域的自動填入。我的表單上的省是一個下拉列表,我想按照網站中的建議使用監聽器,但它不起作用?有人能讓我知道我做錯了什麼嗎?

回答

1

我試着玩API,我無法得到任何事件在addressComplete對象上觸發,但發生了ready事件。但是,由於我們已經準備好構建control實例,因此我只刪除load偵聽器,並將populate事件處理程序直接附加到我們構建的control對象。這似乎工作。

//addressComplete.listen('load', function (control) { 
control.listen('populate', function (address) { 
    // TODO: Handle populated address here. 
}); 
//}); 
+0

你是對的!謝謝 :) – ultimatecoder