【问题标题】:Validation plugin is not working in update panel验证插件在更新面板中不起作用
【发布时间】:2012-12-19 15:04:27
【问题描述】:

我有一个更新面板,面板内的文本框和按钮可用。现在我在使用jQuery Validation插件,但是在更新面板中使用时,验证插件不起作用。

例如:

function GetAddressTargetList() {
    var objArray = new Array();
    var objAddressElement = new Object();

    objAddressElement = new Object();
    objAddressElement.Id = "ddlAccType"; 
    objAddressElement.Rules = "required";
    objAddressElement.TargetControlType = "select";
    objArray[objArray.length] = objAddressElement;
    objAddressElement = new Object();
}

在页面级别(.aspx)

$(document).ready(function () {
    GetAddressTargetList();
});

function pageLoad(sender, args) {
    // To load the tooltip in update panel
    if (args.get_isPartialLoad()) {
        GetAddressTargetList();
    }
}

当我使用更新面板工作时如何获得验证?

【问题讨论】:

标签: jquery asp.net


【解决方案1】:

我认为你忘记初始化pageLoad

在你的代码中添加这个:

$(document).ready(function () {
    Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(PageLoaded);
});

function PageLoaded(sender, args) {
    GetAddressTargetList();
}

参考:http://msdn.microsoft.com/en-us/library/bb397523(VS.100).aspx

更新

我已将pageLoad 更新为PageLoaded,以避免rs 评论后发生冲突。在我看来,UpdatePanel 有一种自定义方式来处理事件,我们在这里尝试的是在 UpdatePanel 更新内容后触发 javascript 上的事件。

【讨论】:

  • 我认为这不是正确答案,pageLoad 和 pageUnload 是 ajax 中的保留名称。如果我们使用它们,我们不必为它们绑定显式处理程序。如果使用显式绑定,请为函数使用不同的名称。 Src - msdn.microsoft.com/en-us/library/bb386417(v=vs.100).aspx [搜索页面加载]
【解决方案2】:

试试这个而不是 document.ready,每次部分回发后都会调用 ajax pageLoad

function pageLoad() { 
    GetAddressTargetList();
  } 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    相关资源
    最近更新 更多