jQuery提交没有解雇

时间:2014-02-03 17:13:05

标签: jquery html

我对这个问题感到愚蠢,但为什么我的.submit没有发出警报?

HTML

<div class="buttonbar" style="margin-left:10%">
 <button class="btn btn-danger">Cancel</button>
 <button class="btn btn-success" id="publish">Publish</button>
</div>

的JavaScript

<script type="text/javascript">
    $(document).ready(function() { 
        $('#publish').submit(function(){
            alert("hello");
        }); 
    }); 
</script>

当我点击“发布”时,jQuery不会弹出警报。我做错了什么?

4 个答案:

答案 0 :(得分:11)

因为它不是submit按钮,所以当它不在submit标记的范围内时,它不会有名为<form>的事件。

试试click事件,

$(document).ready(function() { 
    $('#publish').click(function(){
        alert("hello");
    }); 
}); 

或者您必须在html中进行更改,

<div class="buttonbar" style="margin-left:10%">
 <form>
 <button class="btn btn-danger">Cancel</button>
 <input class="btn btn-success" id="publish" type="submit" value="Publish"/>
 </form>
</div>

JS:

$(document).ready(function() { 
    $('#publish').submit(function(e){
        e.preventDefault();
        alert("hello");
    }); 
});

答案 1 :(得分:3)

您使用的是<button>而不是<input type="submit"> 并且你没有<form>提交函数来执行(事实上,仅此一点可能是你的问题)。

答案 2 :(得分:2)

提交是用于表单,单击是您要查找的内容:

$(document).ready(function() { 
    $('#publish').click(function(){
        alert("hello");
    }); 
}); 

试试JSFiddle

答案 3 :(得分:0)

在上面的示例中,您有

mySys.bat

这对我不起作用,因为你绑定了输入的提交事件。为了使这项工作,我必须设置FORM标签的id属性并绑定到其提交事件。

$(document).ready(function() { 
    $('#publish').submit(function(e){
        e.preventDefault();
        alert("hello");
    }); 
});

这至少对我有用:)