单击链接后警报不显示

时间:2015-02-27 16:47:04

标签: javascript php ajax

我创建了一个“立即购买”链接,该链接从我的phpmyadmin数据库中提取URL。点击该链接会将产品添加到购物车,但我不希望用户在点击链接时前往结帐,而是保持在同一页面上并弹出一条提示,说明“产品已添加到购物车”。 。下面是我当前的脚本,但警报未显示,用户转到该链接。谁能告诉我有什么问题?谢谢!

<script>
    $("#shop").onclick(function(event){
        $.post( '" . $producturl[0]->URL . "' );
        event.preventDefault();
        event.stopPropagation();
        console.log('Added To Cart');
    });
</script>


<?php $producturl = ProductURL::find(array('Product'=>$tube1->Tube1));
    if($producturl[0]->URL!=NULL){
        echo '<a href="' . $producturl[0]->URL . '" data-role="button" data-inline="true" data-mini="true" data-theme="d" target="vspage" onclick="' . "_gaq.push(['_trackEvent', 'Buy Now', 'Tube', '" . $tube1->Tube1 . "'" . "]); _gaq.push(['_link', '" . $producturl[0]->URL . "']);" . '" id="shop">Test Cart</a>';

        echo '<a href="#" id="shop">Test2 Cart</a>';
    }
?>

$ producturl [0] - &gt;网址是将当前产品从phpmyadmin拉到购物车的数组

4 个答案:

答案 0 :(得分:0)

尝试删除主播,以便您的文字不再是链接,然后使其成为shop ID的范围:

<?php $producturl = ProductURL::find(array('Product'=>$tube1->Tube1));

        if($producturl[0]->URL!=NULL){
            echo '<span id="shop">Test Cart</span>';
        }
?>

答案 1 :(得分:0)

使用

window.alert('Added To Cart') 

而不是

console.log('Added To Cart')

答案 2 :(得分:0)

你应该有jQuery并改为:

    $( document ).ready(function() {
        $("#shop").click(function(event){ 

          event.preventDefault();

          // Your code here

          // Alert user
          alert('Added To Cart'); 

       });
   });

并且您应该在同一页面上只有一个唯一ID!您有两个shop ID。

<强>更新

你也有这个:

$.post( '" . $producturl[0]->URL . "' );

要在javascript中使用php变量,你应该回应它们,例如:

$.post( '<?php echo $producturl[0]->URL;?>' );

我不知道那个$producturl[0]->URL变量有什么,但是这不是更新你的购物车,如果你不想制作你可能不需要这个$.post从服务器端到现在的任何东西...也许您只是想更新客户购物车,如总价格,数量,添加新产品......

但是,如果您此时确实需要从服务器端执行某些操作,请查看$.post文档HERE

答案 3 :(得分:0)

<?php $producturl = ProductURL::find(array('Product'=>$tube1->Tube1));
    if($producturl[0]->URL!=NULL){      
echo '<a href="#shop" id="shop">Test2 Cart</a>';
}
    ?>

<script type="text/javascript">
$(document).on('click', '#shop', function (event) {
$.post( '" . $producturl[0]->URL . "' );
event.stopPropogation();
event.preventDefault();
alert('Product has been added to cart');
});
</script>

这是我现在的代码,其中警报最终会弹出,但当我转到页面时,购物车本身不会更新。我使用$.post,这最后一步的任何帮助都会很棒!