【问题标题】:Postback disables javascript when ajaxEnabled set to true当 ajaxEnabled 设置为 true 时,回发禁用 javascript
【发布时间】:2012-11-08 14:29:05
【问题描述】:

我正在尝试提交一个简单的表单,但当我这样做时,页面上的所有 javascript 都不起作用(甚至没有警报)。

我发现如果我将 jQuery 的移动 ajaxEnabled 设置为 false,一切正常,但我怎样才能在不禁用它的情况下让它工作呢?

现在我尝试将 javascript 移动到正文的末尾,但没有帮助。所以我做了一个疯狂的猜测,并认为这可能与我将我的代码绑定到 pageinit 事件有关。

但即使在该包装之外的警报也不起作用。 我正在使用 jQuery mobile,所以这可能是相关的,或者我的页面为 EnableEventValidation="False"

这里有更多代码:http://jsfiddle.net/DUbXV/

这是我的 javascript 函数声明(长代码):

<script type="text/javascript">
    alert();
    $(document).bind('pageinit', function () {
        //using cookie plugin
        $('#user_id').val($.cookie('SimMobileUsername'));

        $('#form1').on("submit", function () {
         //some code
        });
        $("#phone_number").bind("blur", function (event, ui) {
        //some code
        });
    });
</script>

这是回发代码,如果有帮助的话:

protected void Page_Load(object sender, EventArgs e)
{
    if (IsPostBack)
        SubmitForm();
}

任何想法为什么会发生这种情况?

【问题讨论】:

    标签: javascript asp.net jquery-mobile postback


    【解决方案1】:

    即使警报都不起作用,您很有可能在某处遇到 JS 语法错误。你有没有打开你的 JS 或开发者控制台(大多数浏览器中的 F12)?你看到任何 JS 错误吗?

    如果不能解决,您可以在此处或在 jsfiddle 上发布更完整的示例吗?

    【讨论】:

    • 我当然检查过语法错误。这应该是评论而不是答案。我不认为你可以 jsfiddle .net 代码,但我会添加回发代码。
    • '当然' - 我听过很多次了,您是否将客户 ID 设置为静态?否则,ASP.NET 项将具有与 JS 中使用的不同的 ID。你也有脚本管理器吗?
    • 没有我的大多数元素是常规 HTML 而不是 asp.net 元素。不,我没有 scripmanager。我是不是该?我是 asp.net 的新手
    • 我知道您不能将 .NET 发布到 jsfiddle,但是您能否发布更完整的结果文档以便我们了解发生了什么?如果您无法让它发出任何警报,那么结果文档中似乎仍然存在某种语法错误,但正如您所说的那样,提供更多信息会有所帮助。
    • 所以你是对的——控制台中没有报告语法错误。但是仍然存在阻塞/停止错误:alert();我只是假设那是伪代码。但是,如果没有任何参数,就会停止执行。 jsfiddle.net/DUbXV/1 在这里你会看到只需添加一个空字符串参数就可以让所有东西都连接起来。
    猜你喜欢
    • 2017-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-14
    相关资源
    最近更新 更多