jQuery ajax無重新整理資料提交執行個體

來源:互聯網
上載者:User

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title>jquery ajax無重新整理資料提交執行個體</title>
</head>

<body>
<div id="contact_form">
  <form name="contact" action="">
    <fieldset>
      <label for="name" id="name_label">name</label>
      <input type="text" name="name" id="name" size="30" value="" class="text-input" />
      <label class="error" for="name" id="name_error">this field is required.</label>

      <label for="email" id="email_label">return email</label>
      <input type="text" name="email" id="email" size="30" value="" class="text-input" />
      <label class="error" for="email" id="email_error">this field is required.</label>

      <label for="phone" id="phone_label">return phone</label>
      <input type="text" name="phone" id="phone" size="30" value="" class="text-input" />
      <label class="error" for="phone" id="phone_error">this field is required.</label>

     <br />
      <input type="submit" name="submit" class="button" id="submit_btn" value="send" />
    </fieldset>
  </form>
  </div>

您可能會注意到,我已經包括一個id contact_form的div圍繞整個形式封裝。
請務必不要錯過自己的分區形式,因為我們會需要這種封裝分區以後。你
也可能注意到我都留給了的行動和空白的form標籤的方法部分。我們
其實並不需要這些人,要麼,因為jquery需要照顧它的所有以後。

另一個重要的事情一定要包括為每個輸入欄位的id值。 id值
是你的jquery指令碼將會尋找的過程與形式。

我已經添加了一些css教程樣式和背景映像在photoshop教程出示下列形式:

2步 - 開始添加的jquery
該過程的下一步是添加一些jquery代碼。我將假定您有
jquery的下載,上傳到伺服器,並
它引用在您的網頁。

接下來,開啟了另一新的網頁特效檔案,在你的html參考它,您將任何正常的javascript檔案,
並加入以下內容:

 $(function() {
    $(".button").click(function() {
      // validate and process form here
    });
  });

第一個函數是function()所做的是,它載入內部事件,只要在html檔案已準備就緒。
如果你做任何工作之前在jquery,功能是作為jquery的相同
document.ready
功能。因此,我們從此開始,裡面有我們的點擊功能,在點擊提交執行
按鈕與"按鈕"類的名稱。最終我們完成的工作與這些
行代碼是一樣的,如果我們要添加一個onclick事件提交的html按鈕。該
因此,我們做jquery的是,這對我們從我們的指令碼示範清晰的分離。

表單驗證

$(function() {
    $('.error').hide();
    $(".button").click(function() {
      // validate and process form here

      $('.error').hide();
     var name = $("input#name").val();
    if (name == "") {
        $("label#name_error").show();
        $("input#name").focus();
        return false;
      }
    var email = $("input#email").val();
    if (email == "") {
        $("label#email_error").show();
        $("input#email").focus();
        return false;
      }
    var phone = $("input#phone").val();
    if (phone == "") {
        $("label#phone_error").show();
        $("input#phone").focus();
        return false;
      }

    });
  });


在我們的功能,載入頁面時準備就緒,我們添加一些表單驗證。
但首先你看到了加元隱藏()('錯誤。。');。什麼
這確實是隱藏與類名"錯誤"我們的3標籤。我們希望這些標籤時,不只是被隱藏
首先載入的頁面,而且還當你點擊提交情況下,該訊息之一是向使用者顯示
以前。每個錯誤訊息只應出現,如果驗證不起作用了。

我們首先驗證檢查,如果名字場留下的空白使用者,如果是的話,那麼,我們
顯示與name_error id標籤。然後我們放置在名稱輸入欄位焦點的情況下,使用者
在所有關於下一步該怎麼做糊塗了! (我已經學會了從來沒有承擔過大時,它涉及到形式
使用者)。

為了更詳細地解釋我們是如何使這種情況發生,我們設定一個變數的名字'到的價值
輸入欄位id為"名" - 一個jquery的行的所有:

var name = $("input#name").val();
  we then check if that value is blank, and if it is, we use jquery's show() method to show the label with
id "name_error":

  if (name == "") {
    $("label#name_error").show();
  }
  next, we place the form focus back on the input field with id of "name", and finally return false:

  if (name == "") {
    $("label#name_error").show();
    $("input#name").focus();
    return false;
  }
 
 
  現在,我們到達了本教程的心 - 我們的表單沒有提交頁面重新整理,它發送的形式
到php教程的值在後台指令碼。讓我們所有的代碼的第一個一看,然後我將打破
為更詳細的下一步。新增片段下方的驗證我們以前添加以下代碼(和之前
按一下按鈕功能被關閉了):

var datastring = 'name='+ name + '&email=' + email + '&phone=' + phone;
  //alert (datastring);return false;
  $.ajax({
    type: "post",
    url: "bin/process.php",
    data: datastring,
    success: function() {
      $('#contact_form').html("<div id='message'></div>");
      $('#message').html("<h2>contact form submitted!</h2>")
      .append("<p>we will be in touch soon.</p>")
      .hide()
      .fadein(1500, function() {
        $('#message').append("<img id='checkmark' src='images/check.png' />");
      });
    }
  });
  return false;


ajax

$.ajax({
      type: "post",
      url: "bin/process.php",
      data: datastring,
      success: function() {
        $('#contact_form').html("<div id='message'></div>");
        $('#message').html("<h2>contact form submitted!</h2>")
        .append("<p>we will be in touch soon.</p>")
        .hide()
        .fadein(1500, function() {
          $('#message').append("<img id='checkmark' src='images/check.png' />");
        });
      }
    });
    return false;

</body>
</html>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.