【发布时间】:2016-08-01 14:54:53
【问题描述】:
$("form").submit(function() {
if ($("#content") != null) {
$("#content").replaceWith('<div id="page-loader" class="fade in"><span class="spinner"></span><span class="spinner-text center">We are running as fast as our little ninja feet can go...</span></div>');
}
return true;
});
以上在 Chrome 上运行良好,但在 Firefox 上不运行。不知道为什么,但在 Firefox 中,表单实际上并没有提交。 div 替换有效,但提交时不喜欢,页面只是保持空闲状态。
这里的目的是捕获任何形式的提交并将微调器(CSS 不是图像)扔到页面上,直到返回 post/put 并且微调器被页面重新加载上的实际内容 div 清除(非ajax)。
之前:
之后:
代码已删除(帖子现在出现):
<form accept-charset="UTF-8" action="/users/sign_in" class="new_user" id="new_user" method="post" role="form">
<!-- begin row -->
<div class="row">
<!-- begin col-12 -->
<div class="col-lg-6">
<div class="form-group"><label class="sr-only control-label" for="user_email">Email</label><input autofocus="autofocus" class="form-control" id="user_email" name="user[email]" placeholder="E-mail" type="email" value="" /></div>
</div>
<div class="col-lg-6">
<div class="form-group"><label class="sr-only control-label" for="user_password">Password</label><input class="form-control" id="user_password" name="user[password]" placeholder="Password" type="password" /></div>
</div>
</div>
<!-- end row -->
<!-- begin row -->
<div class="row">
<!-- begin col-12 -->
<div class="col-md-12 center">
</br>
</div>
</div>
<!-- end row -->
<!-- begin row -->
<div class="row">
<!-- begin col-12 -->
<div class="col-md-12 center">
<input class="btn" name="commit" type="submit" value="Sign in" />
<div class="m-t-20">
<a href="/users/password/new">Forgot your password?</a><br/>
<a href="/users/confirmation/new">Didn't receive confirmation instructions?</a><br/>
<a href="/users/unlock/new">Didn't receive unlock instructions?</a><br/>
</div>
</div>
</div>
<!-- end row -->
<script>
$(document).ready(function () {
App.init();
$("form").submit(function(){
if ($("#content") != null) {
$("#content").replaceWith('<div id="page-loader" class="fade in"><span class="spinner"></span><span class="spinner-text center">We are running as fast as our little ninja feet can go...</span></div>');
}
return true;
alert("Submitted");
});
});
$(function () {
var hash = window.location.hash;
hash && $('ul.nav a[href="' + hash + '"]').tab('show');
});
更新:
好吧,我是个白痴,但出于某种原因,这并没有引起我的注意。发生的事情是#content div 包含我要替换的表单。所以对我来说神秘的是为什么它在 Chrome / IE 中有效,而不是在 Firefox 中?
如果我使用以下它可以工作,但我会得到一些悬空的表单元素:
$("form").submit(function(){
if ($("#content") != null) {
$("#content").append('<div id="page-loader" class="fade in"><span class="spinner"></span><span class="spinner-text center">We are running as fast as our little ninja feet can go...</span></div>');
}
return true;
});
【问题讨论】:
-
你检查过网络标签吗?
-
尝试重新启动服务器并重新加载整个页面它会工作......
-
我尝试重启服务器 我已经添加了网络跟踪,很明显表单没有提交。当我删除此代码时,它工作得很好。
-
firefox 中的任何 console.error
-
能否提供firefox浏览器日志和chrome日志
标签: jquery ruby-on-rails forms firefox submit