1. 程式人生 > >通過AJAX和PHP,提交JQuery Mobile表單(兩篇)

通過AJAX和PHP,提交JQuery Mobile表單(兩篇)

通過AJAX和PHP,提交JQuery Mobile表單

http://blog.itechol.com/space-4-do-blog-id-6533.html

File name: callajax.php

[php] view plaincopyprint?
  1. <?php  
  2.     $firstName = $_POST[firstName];  
  3.     $lastName = $_POST[lastName];  
  4.     echo("First Name: " . $firstName . " Last Name: " . $lastName);  
  5. ?>  

File name: index.php
[html] view plaincopyprint?
  1. <!DOCTYPE html>
  2. <html>
  3.     <head>
  4.     <title>Submit a form via AJAX</title>
  5.       <linkrel="stylesheet"href="http://code.jquery.com/mobile/1.0a4/jquery.mobile-1.0a4.min.css"/>
  6.       <scriptsrc="http://code.jquery.com/jquery-1.5.2.min.js"></
    script>
  7.       <scriptsrc="http://code.jquery.com/mobile/1.0a4/jquery.mobile-1.0a4.min.js"></script>
  8. </head>
  9. <body>
  10.     <script>
  11.         function onSuccess(data, status)  
  12.         {  
  13.             data = $.trim(data);  
  14.             $("#notification").text(data);  
  15.         }  
  16.         function onError(data, status)  
  17.         {  
  18.             // handle an error  
  19.         }          
  20.         $(document).ready(function() {  
  21.             $("#submit").click(function(){  
  22.                 var formData = $("#callAjaxForm").serialize();  
  23.                 $.ajax({  
  24.                     type: "POST",  
  25.                     url: "callajax.php",  
  26.                     cache: false,  
  27.                     data: formData,  
  28.                     success: onSuccess,  
  29.                     error: onError  
  30.                 });  
  31.                 return false;  
  32.             });  
  33.         });  
  34.     </script>
  35.     <!-- call ajax page -->
  36.     <divdata-role="page"id="callAjaxPage">
  37.         <divdata-role="header">
  38.             <h1>Call Ajax</h1>
  39.         </div>
  40.         <divdata-role="content">
  41.             <formid="callAjaxForm">
  42.                 <divdata-role="fieldcontain">
  43.                     <labelfor="firstName">First Name</label>
  44.                     <inputtype="text"name="firstName"id="firstName"value=""/>
  45.                     <labelfor="lastName">Last Name</label>
  46.                     <inputtype="text"name="lastName"id="lastName"value=""/>
  47.                     <h3id="notification"></h3>
  48.                     <buttondata-theme="b"id="submit"type="submit">Submit</button>
  49.                 </div>
  50.             </form>
  51.         </div>
  52.         <divdata-role="footer">
  53.             <h1>GiantFlyingSaucer</h1>
  54.         </div>
  55.     </div>
  56. </body>
  57. </html>





+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
jQuery mobile 表單提交

http://blog.csdn.net/tjpu_lin/article/details/28394253

最近在做手機頁面用jQuery mobile開發,在用到form表單提交到時遇到了問題。

後臺是用servlet進行處理的,想通過Servlet裡面的重定向進行頁面跳轉發現在手機上根本沒有用,出現errorpage提示資訊。

查詢網上資料以及jQuery mobile API得知 jQuery mobile表單提交預設是ajax提交,所以頁面跳轉寫在servlet裡面根本就不會實現頁面跳轉功能。

於是我按照教程在form裡面加了  data-ajax=“false”這一屬性,發現別說是頁面跳轉不行,就連後臺的資料庫操作都做不了,報了500錯誤。

想了好久既然用ajax提交,那麼就用ajax進行頁面跳轉

[html] view plaincopyprint?在CODE上檢視程式碼片派生到我的程式碼片
  1. <scripttype="text/javascript">
  2.         $(document).ready(function () {  
  3.             $("#submitbtn").click(function(){  
  4.                     cache: false,  
  5.                     $.ajax({  
  6.                       type: "POST",  
  7.                       url: "feedback",  
  8.                       data: $('#feedbackform').serialize(),  
  9.                       success:function(data){  
  10.                             $.mobile.changePage("success.html");  
  11.                       }  
  12.                 });  
  13.             });  
  14.         });  
  15. </script>
[html] view plaincopyprint?在CODE上檢視程式碼片派生到我的程式碼片
  1. <formmethod="post"id="feedbackform">
  2. t;span style="white-space:pre"></span>//相關表單元素  
  3.     <inputtype="button"id="submitbtn"value="提交">
  4. </form>

注意的是js裡面的data [html] view plaincopyprint?在CODE上檢視程式碼片派生到我的程式碼片
  1. $('#feedbackform').serialize()  
是必須要有的,不然servlet裡面用requset.getParameter接受的資料是null,ajax和後臺成功互動後用changePage跳轉到成功後顯示的頁面。