单击时刷新按钮

时间:2015-09-24 13:02:06

标签: javascript jquery smarty

我有一个按钮,我想在点击时重新加载。但是只应该重新加载按钮,而不是页面的其余部分。

按钮如下所示:

<a href="{$module_data.GM_PRODUCTS_BUTTON_BUY_NOW_URL}" id="click{php}echo ''.$counter.'';{/php}" class="addcart button_green button_set action_add_to_cart"{if $module_data.PRODUCTS_NAME != ''} title="{$module_data.PRODUCTS_NAME|replace:'"':'&quot;'} {$txt.text_buy}"{/if}
onclick="return checkAddToCart(event, '{$module_data.QTY_DATA.ID}', {$product_stock}, {$product_max_order}, {$module_data.PRODUCTS_ID}, {php}echo $row['customers_basket_quantity']{/php}, {php}echo "'click".$counter."'";{/php});">
    <span class="button-outer">
        <span class="button-inner">{$button.add_to_cart}</span>
    </span>
</a>

现在我告诉javascript echo "'click".$counter."'";是clickid。 我尝试了以下操作来点击重新加载我的页面:

function checkAddToCart(event, tid, stock, maxallowed, pid, pquantity, clickid)
{
    var clickid_string = clickid.toString();
    var bought = Number($("#"+tid).val());
    stock = Number(stock);
    maxallowed = Number(maxallowed);
    var ans = (bought>stock) || (bought > maxallowed);

    if(ans) 
    {
        event.stopPropagation();
        event.preventDefault();
        alert("Maximale Bestellmenge:  " + Math.min(maxallowed, stock));
    }
    else {
        $("#"+clickid_string).load("#"+clickid_string);
    }

    return !ans;
}

它不起作用,我绝对不知道为什么。通过ay,我的系统可以使用SMARTY tpl。

1 个答案:

答案 0 :(得分:0)

如果你想点击按钮运行php脚本,你需要学习ajax。 Ajax只是一种使用javascript的简单方法,可以在后台运行页面而无需重新加载当前页面。

<span class="button-outer" onClick="addDataToDB(this);">...</span>
<script>
function addDataToDB(el) {
   var elem = $(el);
   /* GET ALL YOUR DATA*/
   var name = ...

   /* Create an AJAX request to your phpfunction */
}
</script>

检查youtube中的一些教程。