Smarty Street の LiveAddress jQuery プラグイン (2.4 ブランチ) を使用しています。フォームが読み込まれたときに、アドレスがすでに提供されている場合があります。ページの読み込み時に事前に読み込まれたアドレスを確認する最善の方法は何ですか?
例:
<input id="address" value="20 N. Main St" />
<input id="city" value="Greenville" />
<input id="state" value="SC" />
<input id="zip" value="29601" />
例:
// set up Address Verification Service
var liveaddress = $("#DeliveryAddress").LiveAddress({
key: "0000000000",
autoVerify: true,
submitVerify: false,
invalidMessage: "Address Not Found. Click X to continue anyway.",
addresses: [{
id: 'DeliveryAddress',
street: '#address',
city: '#city',
state: '#state',
zipcode: '#zip'
}]
});
これまでのところ、私は試しました:
liveaddress.verify( 'DeliveryAddress' );
これは確かに住所を確認しますが、確認ボタンを更新しないため、明らかにすべてのイベントが発生するわけではありません。これはデバッグモードが示すものです:
LiveAddress API jQuery Plugin version 2.4.11 (Debug mode)
Manually mapping fields given this data:
Finished mapping address with ID: DeliveryAddress
EVENT: FieldsMapped (Fields mapped to their respective addresses)
EVENT: VerificationInvoked (Address verification invoked)
EVENT: RequestSubmitted (Request submitted to server)
EVENT: ResponseReceived (Response received from server, but has not been inspected)
EVENT: AddressWasValid (Response indicates input address was valid)
EVENT: AddressAccepted (Address marked accepted)
EVENT: Completed (All done)
EVENT: MapInitialized (Mapped fields have been wired up to the window, document, and UI)
実際に確認ボタンをクリックすると、同じイベントが発生します。
マットの回答からの最終的な解決策:
liveaddress.on("MapInitialized", function(event, data, previousHandler) {
previousHandler(event, data);
liveaddress.verify( 'DeliveryAddress' );
});