javascript - 单个 PHP 页面中的两个加载器

标签 javascript

我正在尝试嵌入两个“加载器”,一个在页面加载时嵌入,另一个在用户在加载的页面上提交表单时嵌入。

该脚本如下所示,位于 <head> 内.

<script type="text/javascript">

// loader on form submit

$(document).ready(function(){
  $('#myform').submit(function() {
  $('#loaderImage').show(); 
  return true;
  });
});

 // the page load 'Loader'

  $(window).load(function() {
  $(".imageCarryingDiv").fadeOut();;
  });
</script>

和一个<div>里面<body>看起来像这样:

<div class="imageCarryingDiv"><img src="../images/loader.gif" style="height:30px; width:auto;" class="loaderImgx" alt=""><br>Loading...</div>

问题是页面加载上的“加载器”行为符合预期,但是提交表单时,页面加载“加载器”再次出现。我知道这种情况会发生,因为提交表单时页面会再次加载。您建议我如何避免这种情况,加载器仅在预期出现的位置出现,一个在页面加载,另一个在表单提交。

最佳答案

您需要防止触发表单的默认行为,以便提交表单时页面不会重新加载。以下是使用 preventDefault() 执行此操作的方法:

$(document).ready(function() {
  $('#myform').submit(function(e) {
    // Use prevent default to avoid page reload
    e.preventDefault();
    $('#loaderImage').show();
    return true;
  });
});

preventDefault() 的文档位于:http://www.w3schools.com/jsref/event_preventdefault.asp

关于javascript - 单个 PHP 页面中的两个加载器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41093529/

相关文章:

javascript - 在 ember.js 中打印数组的问题

javascript - 谷歌浏览器问题 : scroll to bottom detection on zoom out

javascript - Protractor element.all

javascript - 如何将 headless 浏览器与 selenium webdriver 和 chromedriver 一起使用

javascript - 使用 Angular 2 在 HTML5 中动态定义输入类型

javascript - React 测试抛出警告 'Invalid DOM property ` %s`。您的意思是 `%s` 吗?%s'

javascript - Highcharts 服务器端图像生成,如何在回调参数中设置图例 labelFormatter

javascript - 此 jQuery SlideUp 代码使用的正确选择器是什么?

javascript - 为什么我的 Redux store 应该是可序列化的?

javascript - Mongoose 对象关系