jQuery——表單異步提交


如果不做任何處理,表單提交時會刷新頁面,為了改善體驗,可以使用jQuery做到異步提交表單:通過$("#form").serialize()將表單元素的數據轉化為字符串,然后通過$.ajax()執行異步請求資源。

網頁代碼:

<form mothod="POST" id="search_form">
  <div class="cf">
     <label class="search-bar">
        <input id="keyword" placeholder="請輸入搜索關鍵詞" name="user_info_keyword" type="text" value="" class="input-search">
        <a id="search" class="btn-search"><i class="icon-search"></i></a>
        <a href="javascript:;" class="btn-more"></a>
      </label>
  </div>
</form>

jQuery代碼:

jQuery(document).ready(function (){
   jQuery('#search_form').bind("submit", function(){
         var key_word = jQuery("#keyword").val();
         if(key_word == ""){ return false; }

         var options = {
                url: '/portrait/user_info_display?user_info_keyword=' + key_word,
                type: 'post',
                dataType: 'text',
                data: $("#search_form").serialize(),
                success: function (data) {
                    if (data.length > 0)
                        jQuery("#user_info").html(data);
                }
         };
         $.ajax(options);
         return false;
   })

   $('#search').click(function(){
        $('#search_form').submit();
   })
});

代碼完成了兩個功能:1.輸入關鍵詞后按回車,會向server發送一個POST請求,然后異步提交表單,刷新部分頁面;2.輸入關鍵詞后,點擊查詢按鈕,也可異步刷新部分頁面。

此時要注意表單提交后發送的是POST請求,而點擊按鈕會發送一個GET請求,所以我們可以通過jQuery,使得按鈕點擊時觸發表單提交,這樣后端就不用再寫代碼處理GET請求。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM