验证插件在更新面板中不起作用

时间:2012-12-19 15:04:28

标签: jquery asp.net

我有一个更新面板,面板内部有文本框和按钮。现在我正在使用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();
    }
}

如何在使用更新面板时进行验证?

2 个答案:

答案 0 :(得分:3)

我认为你忘了宣传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上触发事件。

答案 1 :(得分:1)

尝试使用此而不是document.ready,在每次部分回发后调用ajax pageLoad

function pageLoad() { 
    GetAddressTargetList();
  }