繁体   English   中英

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

[英]How do you disable a button using an onclick javascript function?

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

<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>

删除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>
$(".blue").click(function(){
  $(this).attr('disabled', true);
});

只需设置disabled属性即可

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

的jsfiddle


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

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

的jsfiddle

您可以使用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);
});

使.blue按钮只能单击一次 jQuery的.one()方法就是你的选择。 这是文档

$("#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似乎允许这样做。 这篇文章

演示小提琴在这里

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM