gpt4 book ai didi

javascript - 如何使用 LiveAddress jquery 插件验证默认值?

转载 作者:行者123 更新时间:2023-11-30 12:42:53 27 4
gpt4 key购买 nike

我正在使用 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" />

例如javascript:

// 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' );

这确实会验证地址但不会更新验证按钮,因此很明显它不会触发所有事件。这是 Debug模式显示的内容:

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' );
});

最佳答案

要检查两件事:

  1. change 事件需要在任何字段的值以编程方式更改后触发。确保在填充字段后调用 change 事件

  2. 从您的调试输出来看,验证似乎是在 UI 初始化之前进行的;在进行验证之前,请确保一切都已完成初始化。

关于javascript - 如何使用 LiveAddress jquery 插件验证默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23761075/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com