我在使用 jQuery 模式对话框时遇到问题。在下面的代码中,我打开一个对话框,然后使用按钮将值返回到父窗口中表单 (id="form1") 中的字段。然后单击 ASP 按钮,最后关闭对话框。结果是用户可以选择优惠券代码并通过在父窗口上提交应用优惠券代码的表单来自动应用它。
我无法通过提交功能提交表单,我需要单击按钮才能完成这项工作。
该代码在非模态对话框中运行良好。我假设添加 modal 属性会取消对话框与表单的链接,所以我搜索了这个站点并添加了一行以将对话框附加到表单 - 这没有任何效果。希望得到一些帮助!
完全披露,我不是 ASP 人 - ASP 由我们的供应商控制。我只能访问这个网站的前端。
<script>
$(document).ready(function() {
$("#couponDialog" ).dialog({
autoOpen: false,
modal: true,
width: 600,
height: 400,
show: 'drop',
hide: 'drop'
});
$("#couponDialog").parent().appendTo($("form#form1"))
// Open the dialog on click
$('#lnk_needCoupon').click(function() {
$('#couponDialog').dialog('open');
});
// Apply coupon code to form field(s), submit form, close dialog
$('#apply_1').click(function() {
$('#mainSiteContent_MainContent_basketForm_discount_code').val("code1234");
$('#mainSiteContent_MainContent_basketForm_ApplyDiscountButton').click();
$('#couponDialog').dialog('close');
});
$('#apply_2').click(function() {
$('#mainSiteContent_MainContent_basketForm_discount_code').val("code5678");
$('#mainSiteContent_MainContent_basketForm_ApplyDiscountButton').click();
$('#couponDialog').dialog('close');
});
});
</script>
<p><a href="#" id="lnk_needCoupon"><i>Need a coupon?</i></a></p>
<div id="couponDialog" title="Need a Coupon?">
<h3 style="margin: 8px">Please choose from one of the coupon codes below:</h3>
<div style="background-color:#e9e9e9; margin: 10px; padding: 5px;"><b>Take 10% off of your entire order of $50 or more!</b> <a href="#" id="apply_1"><em class="btn"><em><i>Apply This Coupon</i><span class="btn-shop"> </span></em></em></a></div>
<div style="background-color:#e9e9e9; margin: 10px; padding: 5px;"><b>Save 10% off all apparel!</b> <a href="#" id="apply_2"><em class="btn"><em><i>Apply This Coupon</i><span class="btn-shop"> </span></em></em></a></div>
</div>