Jquery不能在表单内部选择输入元素,而是在外部表单时选择

时间:2015-01-28 03:53:36

标签: javascript jquery html forms

在提交按钮的外部窗体上单击事件触发器,但是当它的内部窗体时,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">

为什么会这样?我怎样才能使它发挥作用?

3 个答案:

答案 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;没有'。