防止多次显示弹出窗口.Ajax添加结果已在DOM中注册
Prevent showing popup more than once. Ajax-add-result is already registered in the DOM
我很失望,因为我无法摆脱这个问题!我有一个产品视图和一个"添加到购物车"按钮。如果我点击按钮,表单将被提交(productAddToCartForm.submit(this)),并调用以下函数:
var myAjaxify = function(button) {
button.prop('disabled', true);
if (this.validator.validate()) {
$(this.form).request({
onComplete: function(response) {
var responseData = JSON.parse(response.responseText);
if (responseData.success === 'true') {
Dialog.confirm(
responseData.message,
{
className: 'openit',
width: 385,
height: 220,
destroyOnClose: true,
id: 'ajax-add-result',
closable: true,
zIndex: 100,
title: 'Added to Your Cart',
okLabel: 'Continue Shopping',
cancelLabel: 'Proceed to Cart',
onCancel: function() {
window.location = '/checkout/cart';
},
buttonClass: 'action-btn'
}
);
...
但是需要几秒钟的时间,弹出窗口才会出现。如果我同时多次点击"添加到购物车"按钮,弹出窗口会出现不止一次。如果我没有足够快地关闭弹出窗口,我还会收到错误"ajax添加结果已经在DOM中注册"。我试图禁用按钮($(this).prop('disabled',true);),但我所有的解决方案都打破了剧本:(有人能帮我吗?
我们非常感谢您的每一次帮助。
最好,汉内斯。
取消设置按钮:)
$( "#yourbutton").unbind( "click" );
加载完所有内容后,您可以将事件绑定回。
相关文章:
- JQuery:向多个匹配结果添加换行符的最简单方法
- 对于每个json结果,使用类jquery添加css
- 尝试添加一个选项以使用append进行选择,但没有任何结果
- 将数据库中的超链接添加到查询结果
- 将函数的结果添加到数组中
- 向 API 结果添加数据
- 将结果添加到自动建议的搜索字段
- 将递归承诺的结果添加到数组中
- 将 JSON 结果添加到 HTML
- 数组计数并将结果添加到变量
- 在javascript中,从1000+个结果中计算每60个结果添加到数组中
- 如何将JavaScriptObject结果添加到SmartGWT中生成的HTML的特定位置
- 将sqlite查询结果添加到angularjs的$scope中
- 为“未找到结果”添加自定义消息
- 为特定测试的QUnit输出结果添加附加html
- 使用scriptDB中的结果添加到HTML中
- 将函数的结果添加到数组中
- 向MongoDB结果添加额外的字段可以有效地进行
- 如何将 JavaScript 结果添加到静态 HTML href 属性
- 使用Meteor.js将Foursquare API的搜索结果添加到新的Mongo集合中