我有一个带有优惠券文本字段的销售页面。 对于我的影响者运动,我为每个新的影响者创建一个新的优惠券。
因为我想让他们的生活变得轻松,所以我编写了一些JavaScript,用url参数中的促销代码预填充销售页面的“优惠券”文本字段 mysite.com/mysalepage?coupon=NAME_OF_INFLUENCER
但是,人们也可以在没有影响者的情况下到达此销售登陆页面,然后自己输入在我们的社交页面中找到的优惠券代码。
当访客在文本字段中输入优惠券代码时,它会隐藏价格和付款按钮,并显示新的价格和新的付款按钮。
这些显示/隐藏功能是由“ Keyup”触发的,当访客键入促销代码时,它可以正常工作。
不幸的是,当它是我的javascript代码通过我的url参数填充优惠券文本字段时,此方法不起作用。
因此,我尝试通过代码在页面上创建一些不同的事件并触发它,以显示/隐藏促销元素。我尝试过“滚动,聚焦,聚焦等” ...
当我要求这样做时,代码将重点放在元素上,但是它不会被我的显示/隐藏促销元素的代码触发。
这是我的代码:
< script type = "text/javascript"
language = "Javascript" >
// Function to hide/show the table based on the values of inputs
function toggleTable() {
$('#hideThis').toggle($('#coupon').val() !== 'JDCM' && $('#coupon').val() !== 'PROMOGH2019');
$('#hideThis3').toggle($('#coupon').val() !== 'JDCM' && $('#coupon').val() !== 'PROMOGH2019');
$('#showThis').toggle($('#coupon').val() == 'JDCM' || $('#coupon').val() == 'PROMOGH2019');
$('#showThis2').toggle($('#coupon').val() == 'JDCM' || $('#coupon').val() == 'PROMOGH2019');
$('#showThis3').toggle($('#coupon').val() == 'JDCM' || $('#coupon').val() == 'PROMOGH2019');
}
$(document).ready(function() {
// Bind the keyup event on both the inputs, call the function on event
$('#coupon').on('keyup', toggleTable).trigger('keyup');
$('#begin').on('scroll', toggleTable).trigger('scroll');
});
window.onload = function() {
function querySt(ji) {
hu = window.location.search.substring(1);
gy = hu.split("&");
for (i = 0; i < gy.length; i++) {
ft = gy[i].split("=");
if (ft[0] == ji) {
return ft[1];
}
}
}
var coupon = querySt("coupon");
if (coupon == null) {} else {
document.getElementById('coupon').value = coupon;
}
}
document.getElementById('coupon').focus();
document.getElementById('begin').focus(); <
/script>
<form>
<span>Vous avez un code PROMO?</span><input type="text" name="coupon" id="coupon" placeholder="Ex: PROMO2019">
</form>
<div id="showThis">
<div>
<b style="color:#000000;">Prix HT:<strike>594€</strike></b>
</div>
</div>
<div id="hideThis">
<div>
<b>Prix HT:594€</b>
</div>
</div>
<div id="showThis2">
<div>
<b>Remise exceptionnelle de -50%</b>
<br><br>
<b style="color:#36C503;">Prix final à payer: 297€</b>
</div>
</div>
</div>
<div id="hideThis3">
<div class="div_button">
<a href="URL_594_euros" class="myButton"><span> </span> Acheter Maintenant 594€</a>
</div>
</div>
<div id="showThis3">
<div class="div_button">
<a href="URL_297_euros" class="myButton"><span> </span> Acheter Maintenant 297€</a>
</div>
<div>
在代码上,您可以看到我试图在滚动事件上显示/隐藏,但这没有用。
我想知道如何通过代码在文本字段优惠券上创建此事件“ keyup”。
答案 0 :(得分:2)
填充优惠券的代码之后,只需手动触发keyup
事件:
$('#coupon').keyup();