"Намерих го в главата си, че мобилните приложения не харесват формата, която изпраща по същия начин, както прави HTML, така че си помислих, че ще е по-добре да проверя проверка на Stackoverflow.
Например, вместо да има <input type = "submit" ...>, изглежда, че сега трябва да използвам <a data-role="button"...>
В: Мога ли да продължа да използвам <input type = "submit" ...> за мобилни приложения?
Причината да питам е, защото страницата за действие има някаква логика, като например:
<cfif structKeyExists(form,"Save")>
Отговори:
1 за отговор № 1jQuery Mobile, поне от това писане, отпо подразбиране изпраща формуляри чрез AJAX, използвайки метода, посочен във формуляра, който се изпраща. Изпращанията на POST все още ще бъдат публикувани на сървъра във фонов режим, така че ColdFusion все още ще вижда променливите на формата, които се предават както обикновено. Когато се генерира отговор, jQuery Mobile ще поеме отговора и ще прехвърли изгледа към каквото и да е било върнато HTML. В моето собствено тестване можете да продължите да използвате и нормален бутон за подаване. Ако искате стандартно подаване, а не AJAX, добавете data-ajax="false"
към маркера за формуляр.
1 за отговор № 2
Ако искате да изпратите програмно формуляр, задайте формуляра 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);
});
});
});