在提交按钮的外部窗体上单击事件触发器,但是当它的内部窗体时,jquery根本不起作用!
jquery的:
$(document).ready(function() {
$("#btn").click(function(){
//do something
});
});
这不起作用:
<form id="submitForm">
<input type="email" name="email">
<input id="btn" type="submit" value="submit">
</form>
这个作品! :
<form id="submitForm">
<input type="email" name="email">
</form>
<input id="btn" type="submit" value="submit">
为什么会这样?我怎样才能使它发挥作用?
答案 0 :(得分:3)
您可以按.submit
$(document).ready(function() {
$("#submitForm").submit(function(e){
e.preventDefault();
//do something
});
});
你仍然可以在表单
中使用它<form id="submitForm">
<input type="email" name="email"/>
<input id="btn" type="submit" value="submit"/>
</form>
答案 1 :(得分:1)
这是因为type=submit
按钮或输入,在表单内部,会将帖子触发回后端或服务器。
这就是为什么你的事件回调看起来不起作用的原因,实际上是什么时候。
使用以下内容阻止提交表单。
$('form').submit(function(e){
e.preventDefault();
// ajax stuff
});
答案 2 :(得分:0)
$("#submitForm").submit(function(e){
e.preventDefault();
和
$("#btn").click(function(e){
e.preventDefault();
都奏效了。 (更改类型=&#34;提交&#34;输入=&#34;按钮&#34;没有'。