jquery简报提交 - 加载消息

时间:2011-11-11 02:23:31

标签: php jquery loading

我在我的网站上使用ajax和jquery有一个时事通讯表格。我想向用户显示一条等待消息。 什么是最好的选择?

到目前为止我所拥有的是什么:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
  $('#submit').click(function(e) {
    $.ajax({
      type: "POST",
      url: '/save.php',
      data:  $('#form').serialize(),
      cache: false,
      success: function(result) {
        // my code when success
      }
    });
  });
});

</script>

<div id="newsletter">
  <form id="form">
  <label for="email">Your Email*:</label>
  <input name="email" value="" type="text" id="email" size="30" maxlength="255" />
  <span id="submit">Submit</span>
  </form>
</div>

感谢

2 个答案:

答案 0 :(得分:13)

以下是您可以做的事情:

创建一个div(消息对话框),并在用户按下提交时显示,并在完成ajax时隐藏它。 我还建议使用jQuery Validation插件来验证电子邮件。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
  $('#submit').click(function(e) {
    // validation
    $.ajax({
      type: "POST",
      url: '/file.php',
      data:  $('#form').serialize(),
      cache: false,
      success: function(result) {
        // do what ever you need
      },
      error: function (response, desc, exception) {
        // alert some message
      },
      beforeSend: function() {
        $('#loader').fadeIn(1000);
      },
      complete: function() {
        $('#loader').fadeOut(1000);
      },
    });
  });
});

</script>
<style type="text/css">
  #loader { display: none; /* and other css youy need like border, position, etc... */ }
</style>

<div id="loader">loading ...</div>

<div id="newsletter">
  <form id="form">
  <label for="email">Your Email*:</label>
  <input name="email" value="" type="text" id="email" size="30" maxlength="255" />
  <span id="submit">Submit</span>
  </form>
</div>

答案 1 :(得分:7)

你可以这样做。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
  $('#submit').click(function(e) {

   //Put the loding script here
   $("#preloader").show();

    $.ajax({
      type: "POST",
      url: '/save.php',
      data:  $('#form').serialize(),
      cache: false,
      success: function(result) {
        // my code when success
        //Stop the preloader if the process is done
        $("#preloader").hide();
      }
    });
  });
});



<div id="newsletter">
  <form id="form">
  <label for="email">Your Email*:</label>
  <input name="email" value="" type="text" id="email" size="30" maxlength="255" />
  <span id="submit">Submit</span>
  <img src="preloader.gif" id="preloader" />
  </form>
</div>

当用户点击提交时显示您的预加载器图片。完成此过程后,将其隐藏。