Форма кода купона и показать div onSuccess /OnFailure
На моей странице оформления заказа у меня есть форма кода скидки со следующим прототипом сценария для перезагрузки формы с помощью ajax и добавления значения кода.
Это работает нормально, но я также хотел бы показать скрытый div как для onSuccess, так и для OnFailure.
Мне было интересно, может ли кто-нибудь помочь мне здесь?
Итак, вот текущий сценарий:
<script type="text/javascript">
//<![CDATA[
function updateCoupon(reqid) {
var reqid;
if(reqid == 2) {
$('coupon_code').setValue('');
}
$('discount-coupon-form').request({
method: 'post',
onComplete: payment.onComplete,
onSuccess: payment.onSave,
onFailure: checkout.ajaxFailure.bind(checkout),
})
}
//]]>
</script>
И форма, в которой отображаются дивы "скидка-купон-успех" и "скидка-купон-неудача", которые должны быть раскрыты соответственно:
<form id="discount-coupon-form" action="<?php echo $this->getUrl('checkout/onepage/coupon') ?>" method="post">
<div class="discount">
<h2 style="font-weight: normal;">Discount Codes</h2>
<div class="discount-coupon-success" style="display:none;">W00t!</div>
<div class="discount-coupon-error" style="display:none;">Error</div>
<div class="discount-form">
<label for="coupon_code"> <?php echo $this->__('Enter coupon code (if you have one)') ?></label>
<div class="input-box">
<input class="input-text" id="coupon_code" name="coupon_code" value="<?php echo $getCouponCode; ?>"/>
</div>
<?php if(strlen($getCouponCode)) { ?>
<button type="button" class="cancelBtn" onclick="updateCoupon(2);" value="<?php echo $this->__('Cancel Coupon')?>"><span><?php echo $this->__('Cancel Coupon') ?></span></button>
<?php } ?>
<button type="button" class="button grey" onclick="updateCoupon(1);" value="<?php echo $this->__('Apply')?>"><span><?php echo $this->__('Apply') ?></span></button>
</div>
</div>
</form>
1
Author: doubleplusgood, 2015-07-03
1 answers
Чтобы скрыть элемент с задержкой
Element.hide.delay(3, 'element-id');
Здесь первый параметр - интервал времени (т.Е. сейчас 3 секунды), а второй - идентификатор элемента.
Чтобы скрыть свой divs
после успеха AJAX
$('discount-coupon-form').request({
method: 'post',
onComplete: payment.onComplete,
onSuccess: function(){
Element.hide.delay(3, 'your-success-msg-id');
Element.hide.delay(3, 'your-error-msg-id');
payment.onSave;
},
onFailure: checkout.ajaxFailure.bind(checkout),
})
Чтобы скрыть по имени класса
var hideDiv = $$('.your-class');
hideDiv.each(function(e){
Element.hide.delay(3, e);
});
2
Author: MeenakshiSundaram R, 2015-07-03 11:40:32