首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >提交fadeOut,然后提交()

提交fadeOut,然后提交()
EN

Stack Overflow用户
提问于 2018-10-22 03:55:43
回答 1查看 75关注 0票数 0

此代码不起作用。淡出效果良好,但不提交表单。怎么啦?

代码语言:javascript
复制
<div id="main_div">
 <form action="#" method="POST">
  <input type="text" name="name"><br>
  <input type="password" name="pass"><br>
  <input type="submit" name="login" value="Login">
 </form>
</div>

$("form").submit(function(event) {
  event.preventDefault();
  $("#main_div").fadeOut(1000, function() {
    $("form").submit();
  });
});
EN

回答 1

Stack Overflow用户

发布于 2018-10-22 04:24:25

$("form").submit();再次触发您的处理程序,导致无限循环。

试着这样做:

$('form').off('submit', handler).submit();

演示:

代码语言:javascript
复制
$('form').on('submit', function handler(event) {
  event.preventDefault();
  $('#main_div').fadeOut(1000, function() {
    $('form').off('submit', handler).submit();
  });
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="main_div">
 <form action="https://en.wikipedia.org" method="get">
  <input type="text" name="name"><br>
  <input type="password" name="pass"><br>
  <input type="submit" name="login" value="Login">
 </form>
</div>

注意:使用form选择器似乎不是一个好主意,在这种情况下,在事件处理程序中应该首选$(this)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52919286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档