如何使用onclick javascript函数禁用按钮?

时间:2013-02-23 21:37:11

标签: javascript jquery

按下后我需要删除按钮点击事件。 如何编辑该功能,无论何时单击它,它都会被禁用然后运行网址,反之亦然。

<form id="edit" action="" method="post">
    <input type="submit" name="button" onclick="this.value='test...'; MyFunction();" id="1" class="button blue" value="Submit">
</form>
<script>
    function MyFunction() {
        var url = "editing.php";
        document.getElementById("edit").setAttribute('action', url);
        return false;
    }
    $(".blue").click(function(){
        $(".blue").removeClass("disabled");
        $(this).addClass("disabled");
    });
</script>

7 个答案:

答案 0 :(得分:4)

删除onclick,然后按照正确的方式执行操作:

<form id="edit" action="" method="post">
  <input type="submit" name="button" id="a1" class="button blue" value="Submit">
</form>
<script type="text/javascript">
$(function() {
    $('#a1').on('click', function() {
        $(this).val('test...').prop('disabled', true);
        $("#edit").attr('action', 'editing.php');
        return false;
    });
});
</script>

答案 1 :(得分:2)

$(".blue").click(function(){
  $(this).attr('disabled', true);
});

答案 2 :(得分:1)

只需设置disabled属性

即可
$('.blue').attr('disabled', 'disabled');

JSFiddle


正如@doppelgreener指出的那样,prop在这里同样有效

$('.blue').prop('disabled', true);

JSFiddle

答案 3 :(得分:1)

您可以使用attr()函数轻松地通过jQuery执行此操作:

$('.blue').click(function() {  
    $(this).attr('disabled', 'disabled');
});

顺便说一下,我注意到你正在使用jQuery。为什么不'jQuery-ify'你的整个代码:

function MyFunction() {
    var url = "editing.php";
    $("#edit").attr('action', url);
    return false;
}

$(".blue").click(function(){
    $(this).addClass("disabled").attr('disabled', true);
});

答案 4 :(得分:1)

使.blue按钮仅可点击一次。 jQuery的.one()方法适合您。这是documentation

$("#edit > .blue").one("click", function() {
    //Code here will only run once.
}); 
  

“如何编辑该功能,无论何时单击它,它都会被禁用然后运行网址,反之亦然。”

我认为您希望表单只在此处提交一次;这样:

<form id="edit" action="" method="post">
    <input type="submit" name="button" class="button blue" value="Submit" />
</form>

<script>
    //To make the form SUBMITTABLE ONLY ONCE:
    $("#edit").one("submit", function() { 
        $(".blue").prop("disabled", true); //you can still set the button disabled if you like
        $('#edit').attr('action', "editing.php"); //setting the action attribute here
    });
</script>

我不知道你的DOCTYPE是什么,但是它是否是HTML4;您不能拥有HTML元素的数字ID。 HTML5似乎允许这样做。请参阅this post

Demo Fiddle here

答案 5 :(得分:0)

<input type="submit" name="button" onclick="$(this).attr('disabled', 'disabled')"/>

答案 6 :(得分:-1)

document.getElementById('1').setAttribute('disabled', 'disabled');
相关问题