Javascript 在提交时隐藏DIV并显示图像
使用jQuery,我需要在单击表单上的Submit按钮时隐藏一个DIV并显示一个图像 HTML的相关部分如下所示:Javascript 在提交时隐藏DIV并显示图像,javascript,jquery,twitter-bootstrap,Javascript,Jquery,Twitter Bootstrap,使用jQuery,我需要在单击表单上的Submit按钮时隐藏一个DIV并显示一个图像 HTML的相关部分如下所示: <div class="form-group"> <div id="submitDiv" class="col-md-offset-4 col-md-1"> <button id="Submit" name="Submit" type="submit" class="btn b
<div class="form-group">
<div id="submitDiv" class="col-md-offset-4 col-md-1">
<button id="Submit" name="Submit" type="submit" class="btn btn-primary">Submit</button>
</div>
<div id="SpinWheelDiv" class="col-md-offset-4 col-md-1">
<img id="SpinWheel" height="20px" src="../img/spin.gif" hidden="">
</div>
</div>
<script type="text/javascript">
$('#formCForm').validator().on('submit', function (e) {
if (e.isDefaultPrevented()) {
// handle the invalid form...
} else {
$('#SpinWheel').removeAttr('hidden');
$('#submitDiv').attr("hidden","true");
return true;
}
});
</script>
提交
正在使用的jQuery脚本如下所示:
<div class="form-group">
<div id="submitDiv" class="col-md-offset-4 col-md-1">
<button id="Submit" name="Submit" type="submit" class="btn btn-primary">Submit</button>
</div>
<div id="SpinWheelDiv" class="col-md-offset-4 col-md-1">
<img id="SpinWheel" height="20px" src="../img/spin.gif" hidden="">
</div>
</div>
<script type="text/javascript">
$('#formCForm').validator().on('submit', function (e) {
if (e.isDefaultPrevented()) {
// handle the invalid form...
} else {
$('#SpinWheel').removeAttr('hidden');
$('#submitDiv').attr("hidden","true");
return true;
}
});
</script>
$('#formCForm').validator().on('submit',函数(e){
如果(例如isDefaultPrevented()){
//处理无效的表单。。。
}否则{
$(“#SpinWheel”).removeAttr('hidden');
$('submitDiv').attr(“隐藏”、“真实”);
返回true;
}
});
问题是,当return设置为false时,这在Safari和Chrome上都有效。当返回值设置为true时,它不再适用于Safari。奇怪的是,如果在返回Safari之前放置一个警报(“Hello”)确实显示了警报,但未能隐藏div并显示图像
在Chrome上,一切正常
也许我应该补充一点,我使用的是Bootstrap
有什么想法吗 只需编写以下代码即可显示元素
$('#submitDiv').show();
显示或隐藏最好且简单的方法是使用方法.show()和.hide()
尝试使用:$('#submitDiv').attr("hidden","hidden");
而不是使用$('#submitDiv').attr("hidden","true");
jQuery API定义的e.isDefaultPrevented()
仅在e.preventDefault()时为true
代码>
我不确定这个检查是否符合您的要求,但是如果您不阻止提交按钮的默认行为;它将触发上面的操作
,这通常会导致页面刷新
执行e.preventDefault()
并从那里开始处理表单。创建一个JSFIDLE代码,但不确定您要的是什么。