2011-10-19 68 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); 
     }); 
    }); 
});