DCSIMG
Show Popup before post back with validators - שלמה גולדברג (הרב דוטנט)

שלמה גולדברג (הרב דוטנט)

מרצה בסלע ויועץ בעולם ה - net.

Show Popup before post back with validators

 

בפוסט הזה הדגמתי איך ניתן להציג חלון מודלי לפני ריצה לשרת ורק במידה וחזר true מהחלון המודלי מתבצעת הריצה לשרת.
 
בדוגמא ההיא יש, FileUpload, CheckBoxList ולחצן.
 
בזמן לחיצה על Submit קופץ חלון מודלי שמבקש להכניס עבור כל שם שנבחר ב - CheckBixList את ה - ID שלו. לשאר הפרטים והדוגמאות עיינו בפוסט הקודם.
 
הבטחתי שאני אדגים גם מצב שבו יש ולידטור על הדף, לדוגמא: אנחנו רוצים לבדוק האם המשתמש העלה קובץ -
 
 
למעשה ב - html תהיה לנו תוספת פשוטה של:
 

<asp:RequiredFieldValidator ID="rfv" ValidationGroup="group1"

runat="server" ControlToValidate="fu" Text="*"></asp:RequiredFieldValidator>

 
כש: fu הוא ה - ID של ה - FileUpload וכמובן ללחצן יש גם ValidationGroup=group1.
 
 
אמנם הקוד מהפוסט הקודם יעבוד כמו שצריך - אבל החלון המודלי יקפוץ לפני הבדיקה האם יש קובץ. במידה ונרצה קודם את לבצע את הבדיקות נצטרך לשנות את מתודת CheckIds בצורה הבאה:
 

function CheckIds() {

 

    var btnId = '<%= btn.ClientID %>';

    var option = new WebForm_PostBackOptions(btnId, "", true, "group1", "", false, true);

    if (Page_ClientValidate(option.validationGroup)) {

 

        var users = GetAllSelectedUsers();

 

        var returnValue = window.showModalDialog('MyPopupPage.aspx?users=' + users);

 

        if (returnValue) {

            WebForm_DoPostBackWithOptions(option);

        }

    }

 

    return false;

}

 
מה יש לנו כאן:
 
מקבלים את ה - ID של הלחצן.
 
מייצרים את האובייקט של הולידטור.
 
מפעילים את הולידצייה.
 
במידה והצליח אנחנו ממשיכים בתהליך שהוסבר בפוסט הקודם עם בדיקת המספרים
שלח תגובה

(שדה חובה)  

(שדה חובה)  

(אופציונלי)

(שדה חובה) 

Please add 8 and 8 and type the answer here:


Enter the numbers above: