簡體   English   中英

對錨隨機運行的preventdefault()函數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM