Панель проверки и обновления Jquery вместе не работает - PullRequest
0 голосов
/ 11 июля 2011

Здесь, добавив этот код, моя проблема с отправкой страницы, несмотря на наличие ошибки проверки, решена ([блог]: Панель проверки и обновления Jquery вместе ), но она представила новую, теперьВыбор основного раскрывающегося списка Мой дочерний раскрывающийся список не заполняется. Я проверил из кода за целевым методом заполнение дочернего раскрывающегося списка, который вообще не запускается….

    <asp:UpdatePanel ID="updRole" runat="server" UpdateMode="Conditional">                    <ContentTemplate>     
    <script type="text/javascript" >         
    Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest            (instance_initializeRequest);        
    function instance_initializeRequest(sender, args) {  
    if (!Validator())   
    {args.set_cancel(true); 
    } 
    }         
    </script> 
    </ContentTemplate> 
    </asp:UpdatePanel> 

Этот фрагмент кода у меня есть на главной страницегде функция validator () запускается в событии .ready (), запускаемом по умолчанию, но проблема была в том, что при добавлении панели обновления на любой странице содержимого срабатывает метод (ошибка проверки также отображается в течение 2 секунд), но страница отправляется обратно.

    <script type="text/javascript">
    // only for demo purposes
    $.validator.setDefaults({
        invalidHandler: function (form, validator) {    

        }
    });

    $().ready(function () {
        Validator();         

    });

    function Validator() {

        var container = $('div.container');
        // validate the form when it is submitted
        var validator = $("#form1").validate({
            errorContainer: container,
            errorLabelContainer: $("ul", container),
            wrapper: 'li',
            meta: "validate"
        });
    }
    </script>

1 Ответ

0 голосов
/ 11 июля 2011

Скрипт в голове:

<script type="text/javascript">
    // only for demo purposes
    $().ready(function () {
        $.validator.setDefaults({
            invalidHandler: function (form, validator) {  }
        });

        var container = $("div.container");

        $("#form1").validate({
            errorContainer: container,
            errorLabelContainer: $("ul", container),
            wrapper: 'li',
            meta: "validate"
        });
    });
</script>

Скрипт чуть ниже элемента управления ScriptManager:

Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest(instance_initializeRequest);

    function instance_initializeRequest(sender, args) {
        if (!$("#form1").validate().form()) {
            args.set_cancel(true);
        }
    }
...