【问题标题】:How to prevent onclick event attached to a submit button如何防止附加到提交按钮的onclick事件
【发布时间】:2015-12-13 07:17:05
【问题描述】:

这是我的代码

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("form").submit(function(event){
    event.preventDefault();
    alert("Submit prevented");
 });
});
    function ShowAlert()
   {alert("Form Submitted");}
</script>
</head>
<body>
<form action="">
First name: <input type="text" name="FirstName" value="Al"><br>
Last name: <input type="text" name="LastName" value="McCoy"><br>
<input id="ffff" type="submit" value="Submit" onclick="ShowAlert()">
</form> 
</body>
</html>

预期的行为只是“提交被阻止”会被提醒,但实际上“表单提交”和“提交被阻止”都会按照给定的顺序被提醒。 但我只想提醒“提交阻止”。有没有办法防止onclick被执行?

【问题讨论】:

    标签: forms onclick submit form-submit preventdefault


    【解决方案1】:

    您只能从提交按钮中删除现有的 onClick 处理程序。像这样的:

    $(document).ready(function(){
        $('#ffff').off('click');
        $("form").submit(function(event){
            alert("Submit prevented");
        });
    });
    

    【讨论】:

    • 它仍然无法正常工作,但显示相同的结果
    • 您必须在提交处理程序之外执行此操作,请参阅编辑后的答案
    • 我尝试使用 jsfiddle ,但仍然无法停用 onclick 处理程序。您也可以检查一下。
    • 好吧,我明白了,这是我的错误。 off() 只能禁用 jquery 的处理程序。您可能必须按照此处所述取消设置 onclick 属性:stackoverflow.com/questions/33614561/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 2012-12-21
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    相关资源
    最近更新 更多