0

複雑なフォームがあり、ページに送信ボタンがあり、クライアント側とサーバー側の両方のイベントがあります。

ボタンを初めてクリックすると、検証クラスが追加され、検証エラーメッセージが表示されます。

次に、検証する必要のあるフィールドに入力し、ボタンをもう一度クリックすると、ページがポストバックされず、jquery 検証エンジンでもうまく機能します。

私のローカル コンピューターでは、ページが必須フィールドに入力された後にポストバックされます。クライアント側とサーバー側の両方が機能すると思います。

ただし、サーバー上ではなく、必須フィールドに入力した後、ページはポストバックされません。

これは私のコードです。あなたの返事と提案を楽しみにしています。

================================================== ========================

jQuery(document).ready(function () {
    jQuery("#aspnetForm").validationEngine();

    //btmContinous
    $('#ctl00_PlaceHolderMain_Form1_btmContinous').click(function () {
        //Part A
    var className = $('#ctl00_PlaceHolderMain_Form1_txtA2').attr('class');
        alert(className);

        if (!(className == "validate[required] text-input"))        
        { 
    alert(className);

        $('#ctl00_PlaceHolderMain_Form1_txtA2').addClass("validate[required] text-input");

       }

if ( $("#Form1").validationEngine('validate') == true) {
         alert("true");             
     //$('#ctl00_PlaceHolderMain_Form1_txtA2').removeClass("validate[required] text-input");
    //should  post back here

    }
else{alert("false");}       

    });
4

1 に答える 1

0

同じ問題を抱えていたのは昨日でした。ポストバック後、検証は機能しません。

ページには更新パネルが含まれ、document.ready内のボタンクリックですべての検証が行われました。

ポストバック後、検証は機能しません。

私がしたことは検証を置くことですすなわち

$("#<%= Button1.ClientID %>").click(function() {
    //// Validation conditions here
});

Sys.Application.add_load()関数内で、ポストバック後にも機能し始めました。

だから今、コードは次のようになりました

Sys.Application.add_load(function() {
    $("#<%= Button1.ClientID %>").click(function() {
        //// Validation conditions here
    });
}

何が起こるかについての詳細はここで読むことができます

http://www.codeoutlaw.com/2009/11/use-sysapplicationaddload-instead-of.html

うまくいけば、これは誰かを助けます:)

于 2012-10-06T08:09:39.187 に答える