单击一次后使按钮不可点击

时间:2013-12-10 01:41:25

标签: javascript php

我有一个我需要修改的代码段,以便只能单击该按钮一次。

到目前为止,我尝试了各种方法并没有成功。我相信我需要使用javascript,但这不是我的强项,我有点迷失。

感谢任何帮助。

代码段是:

$the_button = '<input type="hidden" name="cart_quantity" value="1"/>' . zen_draw_hidden_field('products_id', (int)$_GET['products_id']) . zen_image_submit('add_to_cart3.jpg', BUTTON_IN_CART_ALT) . '<span id="button_cart" style="padding-left:6px;"></span>';

2 个答案:

答案 0 :(得分:1)

您必须使用这样的JavaScript来加密它:

$params = 'onclick="var me=this;setTimeout(function(){me.disabled=true;},1);"';
zen_image_submit('add_to_cart3.jpg', BUTTON_IN_CART_ALT, $params);

zen_image_submit()的第三个参数允许添加额外的标记参数。

或者,您可以使用第四个函数参数来添加类:

zen_image_submit('add_to_cart3.jpg', BUTTON_IN_CART_ALT, '', 'disable-after-click');

然后,您可以根据类名称定义单击处理程序,例如:

var buttons = document.getElementsByClassName('disable-after-click'),
clickHandler = function() {
    var me = this;

    setTimeout(function() {
        me.disabled = true;
    }, 1);
};

for (var i = 0; i < buttons.length; ++i) {
    buttons[i].onclick = clickHandler;
}

或者,您可以使用jQuery执行上述操作。

答案 1 :(得分:0)

您需要将JavaScript作为规则应用于呈现按钮的页面。 具体来说,您需要在单击时添加禁用属性,同时防止默认为单击事件:

$(function(){
  var button = $("input[type=submit]");
  button.on('click', function(e){
        button.attr("disabled", "disabled");
        e.preventDefault();
     });
})

我已经演示了使用jQuery通过JS Bin实现此快速方法。