[英]Preventdefault() function on an anchor working randomly
我有一個正在處理會話的電子商務站點,當兩個會話之一為空時,我需要防止默認的a標記上的href缺省。 我設法做到了,但只會在我僅將1個元素添加到有問題的會話中時才會失敗。 要澄清的是,如果我在“購物車”中僅添加1個元素,它仍然會阻止默認設置,但是如果我添加2個或更多元素,或者以任何方式或數字刪除它們,則只有當購物車為空時,它才能正常工作。
當我的網站刷新頁面以將數據提交到購物車會話時,我創建了一個名為data的變量,如果會話不為空,則為“ 1”,如果會話為空,則為“ 2”,然后在隱藏的變量上回顯該變量輸入具有id數據的數據,並使用jquery來檢查元素數據的值,並在與2不同時防止默認值。
//這里定義變量數據//
<?php
if(!isset($_SESSION_["shopping_cart"])){
$data = "1";
}else{
$data = "2";
}
?>
//這是我的主播//
<li><a id="checkout" href="/bubale/checkout.php"
onclick="check();">CHECKOUT</a></li>
//在這里,我將$ data插入隱藏的輸入中//
<input type="hidden" id="data" value="<?php echo $data; ?>">
//如果我的腳本//
<script type="text/javascript">
$( "#checkout" ).click(function( event ) {
if ($('#data').val() != "2") {
event.preventDefault();
alert("Seu carrinho de compras esta vacio");
}
});
</script>
但是由於某種原因,它應該可以正常工作,但是添加到購物車中的第一個元素仍然可以防止默認設置,我猜是$ data出於某種原因沒有改變。
任何幫助都將得到幫助,即使您有其他方式可以做到這一點,我也很高興收到有關此問題的反饋...
該功能可能是在文檔准備好之前執行的。 嘗試使用document.ready函數,如下所示:
$( document ).ready(function() {
$( "#checkout" ).click(function( event ) {
if ($('#data').val() != "2") {
event.preventDefault();
alert("Seu carrinho de compras esta vacio");
}
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.