2011-10-19 70 views
2

我已經把它變成了我的頭,移動應用程序不喜歡錶單提交方式相同的HTML,所以我想我最好有一個理智檢查Stackoverflow。表單提交jQuery移動

例如,而不必<輸入類型=「提交」 ...>,它看起來像我現在應該使用<數據角色=「按鈕」 ...>

問:我可以繼續使用< input type =「submit」...>用於移動應用程序?

我之所以這麼問是因爲操作頁面有一些邏輯,如:

<cfif structKeyExists(form,"Save")> 
+0

想只是同樣的事情,也沒有通過編程提交JQM表單找到了一個很好的實現/教程。 – frequent

+0

有趣。這裏是表單提交文檔:http://jquerymobile.com/demos/1.0rc1/docs/forms/forms-sample.html和按鈕類型文檔在這裏:http://jquerymobile.com/demos/1.0rc1/ docs/buttons/buttons-types.html到我的理解你看起來很好用輸入類型提交。此外,發行說明中還有一些小技巧:http://jquerymobile.com/blog/2011/09/29/jquery-mobile-1-0rc1-released/ –

回答

1

jQuery Mobile的,至少在寫這篇文章的,默認情況下,提交使用該方法通過AJAX的形式在指定的表格正在提交。 POST提交仍然會在後臺發佈到服務器,所以ColdFusion仍然會看到像往常一樣傳入的表單變量。當生成響應時,jQuery Mobile將接收響應並將視圖轉換爲返回的任何HTML。在我自己的測試中,您可以繼續使用正常的提交按鈕。如果您想要標準提交而不是AJAX提交,請將data-ajax="false"添加到表單標記。

+0

賈斯汀,你是什麼意思「轉換視圖在任何HTML返回「? – andleer

+0

jQuery Mobile在單個「瀏覽器窗口」(例如單個DOM)中幾乎完成了所有的顯示。當它從請求中獲取新的HTML內容時,它將在DOM上創建一個新的「頁面」對象,然後將它轉換(幻燈片,淡入淡出,摺疊或任何類型的過渡)先前顯示的「頁面」是。請記住,這一切都發生在單個傳統「頁面」(DOM層次結構)的上下文中。一旦你「獲得」了它如何處理「頁面」的概念,很多jQuery移動設備將突然變得更有意義。 –

1

如果你想以編程方式提交表單,表單的data-ajax屬性設置爲false,然後設置一個事件處理程序submit事件形式:

<form data-ajax=false></form> 

$(function() { 
    $('form').bind('submit', function (event) { 
     event.preventDefault(); 
     $.post('path/to/server.file', $(this).serialize(), function (data) { 
      alert('Server Response: ' + data); 
     }); 
    }); 
});