在JQueryMobile中禁用Ajax

时间:2011-02-23 06:06:49

标签: asp.net-mvc ajax jquery-mobile

我正在尝试将JQueryMobile用于POC,即使我使用@using(Html.BeginForm())而不是@using(Ajax.BeginForm()),默认情况下启用ajax。它是从一个脚本文件[〜/ Scripts / jquery.mobile-1.0a2.js]注入的。

所以我想要的是简单地禁用某些表单的Ajax并执行完整的表单帖子。这可能是非常明显的,但我只是无法理解它。

感谢任何帮助。

/ BB

5 个答案:

答案 0 :(得分:4)

您必须正确设置jquery移动框架才能禁用其auto-ajax

这里有记录:

http://jquerymobile.com/demos/1.0a3/#docs/api/globalconfig.html

答案 1 :(得分:4)

你可以这样做。

<html lang="en-us">
<head>
    <title>@ViewBag.Title</title>
    <link href="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.css" rel="stylesheet" type="text/css" />
    <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
    <script src="@Url.Content("~/Scripts/jquery-1.5.min.js")" type="text/javascript"></script>

    <script language="javascript" type="text/javascript">
        $(document).bind("mobileinit", function () {
            $.mobile.ajaxFormsEnabled = @ViewBag.EnableAjax;
        });
    </script>

    <script src="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.js" type="text/javascript"></script>
</head>
<body>
    <div data-role="page" data-cache="never">
        <div data-role="header">
            <h1>@ViewBag.HeaderString</h1>
        </div>
        <div data-role="content">
            @RenderBody()
        </div>
        <div data-role="footer">
            <h1>HTDE</h1>
        </div>
    </div>
</body>
</html>

答案 2 :(得分:4)

只需将以下行添加到您的页面,显然您在document.Ready()函数下添加了以下内容:

$.mobile.ajaxEnabled = false;

答案 3 :(得分:2)

注意:如果您使用的是Jquery Mobile beta,则禁用ajax的配置参数已更改。

http://jquerymobile.com/blog/2011/06/20/jquery-mobile-beta-1-released/

“使用ajaxEnabled全局设置自动ajax处理。”

以下是beta配置文档的链接: http://jquerymobile.com/demos/1.0b2/#/demos/1.0b2/docs/api/globalconfig.html

我花了很长时间才想出这个。

答案 4 :(得分:0)

有一种更简单的方法......只是从JqueryMobile文档中找到它

http://jquerymobile.com/demos/1.0a3/#docs/api/globalconfig.html

你所要做的就是,

ajaxFormsEnabled:false