我正在开发我们公司开发的专有电子商务平台。我严格参与前端开发。
不幸的是,很多购物车都在使用内联 javascript 事件将数据发布到我们的数据库中。我计划在不久的将来将内联 javascript 转换为 Jquery,但现在,它们仍然存在。
我遇到的一个具体问题是“从购物车中删除商品”图标,该图标在购物车中的每个订单项上重复出现。有一个内联 javascript 事件使用后端 Delphi 代码从购物车中删除商品:
document.SPI_KitFormName.SPI_KitOrdQtyFieldName.value='DEL';
document.SPI_KitFormName.Action.value='Recalc_Kit';
我刚刚添加了一个 Jquery 对话框以在单击此“从购物车中删除项目”图标时弹出,要求用户确认。我在对话框中添加了“删除项目”和“取消”按钮。
我遇到的问题是,当单击图标时,内联 javascript 事件将在对话框 jquery 之前运行。我明白了。因此,我添加到我的 jQuery 代码e.preventDefault()
中以防止内联 javascript 首先运行。问题是,当我点击对话框中的“删除项目”按钮时,我不知道如何重新启用它。
这是我当前的代码:
var currentForm;
$(function() {
jQuery('#confirm-itemdelete').dialog({
autoOpen: false,
height: 160,
modal: true,
resizable: false,
buttons: {
'Delete Item': function() {
$(this).dialog("close");
$(".deleteitembutton a").die('click');
currentForm.submit();
},
'Cancel': function(){
$(this).dialog("close");
}
}
});
$('.deleteitembutton a').live('click', function(e) {
currentForm = $(this).closest('form');
e.preventDefault();
$('#confirm-itemdelete').dialog('open');
});
});
感谢您提供的任何帮助。