שלח תשובה

זירת השאלות

531
צפיות
29
תשובות

איך לעשות תנאי שאם שדה מסוים מכיל

,‏ 6 ביוני, 2005

מספר אז קורה משהו?
וההיפך, אם שדה מסוים מכיל מספר אז קורה משו?

אני צריך רק את התנאי של הIF
תודה מראש

תגיות:

29 תשובות

  1. BuildHome הגיב:

    למה בפורום צד שרת?
    זה שייך לצד לקוח.

    תשתמש ב-RE לבדיקה:
    if(/[0-9-]/.test(myField))
       alert('מכיל רק מספרים');
    else
       alert('לא מכיל רק מספרים');

  2. Dan123 הגיב:

    מה אני כותב במקום הMYFIELD?
    פשוט השדה שאני בודק לקוח מטופס…
    תראו זה המצב יש טופס שהמשתמש ממלא ואז כשהוא לוחץ שלח אז זה עושה בדיקה בJS שהכל תקין, באחד מהשדות אני צריך שהכל יהיה רק טקסט, ואם זה מכיל מספר אז אני כותב לו "שם לא חוקי" וכנל ההיפך לגבי המספרים…
    אז מה לכתוב בMYFIELD לא ממש הבנתי (מצטער על הבורות)?
    נ.ב. אני גם צריך תנאי של אם מחרוזת מסוימת (שוב, שדה שלקוח מהטופס) האורך שלה קטן מ3 אז לכתוב "סיסמא לא חוקית"

    תודה מראששששש

  3. BuildHome הגיב:

    את שורת המידע של השדה
    document…..

    תקרא את מדריך JS. אתה שואל שאלות בסיסיות מדי שצריך לדעת לבד. זה יעזור לך יותר מאשר שאגיד לך איך.

  4. Dan123 הגיב:

    תאמין לי שאני מנסה להבין
    כאילו הבנתי שהפונקציה היא LENGTH, אבל איך עושים?


    length(string)

    או


    length string

    תודה מראש

  5. Dan123 הגיב:

    אני צריך תנאי ששדה מסוים מכיל מספר
    אני צריך ששדה מסוים יהיה רק אותיות, ואם יש בו מספר כלשהו, אז שזה ייתן ALERT….

    תודה מראשששש:)

  6. Dan123 הגיב:

    בעיה בפונקציית שעון באתר שלי
    אני בונה שעון לאתר, לקחתי אותו מאחד המאמרים שלכם, וזה לא עובד לי באתר…
    הנה הקוד הרלוונטי:


    <title>For Vicky – Homework 5</title>
    </head>
    <DIV id="myClock"></DIV>
    <script language="JavaScript">
    function clock()
    {
        var now = new Date();
        var hours = now.getHours();
        var minutes = now.getMinutes();

        var seconds = now.getSeconds()
        var TheTime = "" + ((hours > 12) ? hours -12 :hours)
        if (TheTime == "0") TheTime = 12;
        TheTime += ((minutes < 10) ? ":0" : ":") + minutes
        TheTime Value += ((seconds < 10) ? ":0" : ":") + seconds
        TheTime += (hours >= 12) ? " P.M." : " A.M."
        myClock.innerHTML = TheTime ;
    }

    </script>
    <DIV id="myClock"></DIV>
    <body onLoad="setInterval('clock()',1000);" bgcolor="Yellow" >

  7. Dan123 הגיב:

    אני לא מבין ת'טעות בפונקציה הזאת:
    הכנתי פונקציה של בדיקת תקינות לשדות בטופס ובבדיקה האחרונה ובבדיקה השנייה לפני האחרונה (FNAME ILLIGEL ו LNAME ILLIGEL) יש טעויות כי זה אמור לבדוק אם השם פרטי והמשפחה מכילים מספרים ואם כן לתת שגיאה וזה לא נותן שגיאה זה מקבל אותם…
    אני לא מבין את הטעות בפונקציה…תעיפו מבט בבקשה
    תודה

  8. Dan123 הגיב:

    הנה הקוד הרלוונטי מתוך הפונקציה:

        <!–check for fname wrriten–>
        if ((document.add.fname.value == "") || (document.add.fname.value == " "))
            {
                alert("Please Write Down Your First Name");
                  return false;
            }

        <!–check for fname Illigel–>
        var p = document.add.fname.value.length ;
        for (var i = 1 ; i < p ; i++)
        {

            if (IsNaN(document.add.fname.value.substring(i-1, i)) = false )
                {
                    alert("Invalid First Name");
                    return false;
                }
        }
        <!–check for lname wrriten–>
        if ((document.add.lname.value == "") || (document.add.lname.value == " "))
            {
                alert("Please Write Down Your Last Name");
                  return false;
            }

        <!–check for lname Illigel–>
        var p = document.add.lname.value.length ;
        for (var i = 1 ; i < p ; i++)
        {

            if (IsNaN(document.add.lname.value.substring(i-1, i)) = false )
                {
                    alert("Invalid Last Name");
                    return false;
                }
        }

  9. BuildHome הגיב:

    נסה להשתמש ב-RegEXP
    משפט התנאי שלך אמור להיות דומה לזה:
    var p = document.add.lname.value;
    if(/[0-9]/.test(p.substring(i-1, i))

    אולי לא הכי יעיל אבל אמור לעבוד.

  10. Dan123 הגיב:

    זה עדיין לא עובד
    למרות שאני כותב מספר בשם פרטי ומשפחה הטופס נשלח, למרות שצריכה לקפוץ הודעת שגיאה

  11. BuildHome הגיב:

    לי זה עובד
    תראה איך אתה משתמש בזה.

  12. Dan123 הגיב:

    תוכל לעזור לי במשו אחר דחוף יותר??
    בבקשה אני מתחנן לא עובד לי עכשיו רישום לאתר…
    אני נותן לך את האתר בקובץ פה שים את כל הקבצים ב
    c:inetpubwwwrootDaniel
    ותנסה להירשם לאתר….משו שם לא בסדר ואני לא יכול לעלות את זה
    אני יודע שזה מוגזם אבל אני מתחנן שתנסה
    תודה

    (כשאתה מוריד ת'קובץ תשנה את סיומת הTXT לZIP ותפתח אותו

  13. Dan123 הגיב:

    בבקשה בילד זה חשוב לאללה זה למחר!!

  14. BuildHome הגיב:

    לא להיזכר ברגע האחרון….
    אין שום סיבה שאוריד את כל הקוד ואתחיל לברר מה לא תקין בו.

    תראה את השגיאה שמופיעה לך ואת הקוד הרלוונטי ואנסה לעזור.

    אגב, תפרסם את ההודעה בפורום צד שרת כי זה ממש לא שייך לפה (ASP).

  15. Dan123 הגיב:

    יודע מה צודק…אז תקשיב לבעיה הזו:
    אני נכנס לאתר שלי, רושם משתמש חדש, ואז משום מה האקסס ננעל לי, נוצר קובץ LDB שזה קובץ נעילת רשומה, ובגלל שהאקסס ננעל אז כל החיבור של האקסס אל האתר לא שווה ולא יכול להתקיים…
    איך אני מונע את זה?

  16. mrmistory הגיב:

    מוזר, הורדתי את זה ו….
    הכל עובד FIX והצלחתי להרשם ללא בעיה.
    ולא היה שום קובץ שנעל את DB

  17. Dan123 הגיב:

    אני משתמש בתוכנה BABY WEB SERVER
    לא בIIS או PWS כי יש לי XP HOME

  18. mrmistory הגיב:

    בכל מקרה הקוד שלך תקין, בדקתי….
    ככה במהירות והוא בסדר .
    הבעיה היא , לא יודע איפה.

  19. Dan123 הגיב:

    אוקיי תודה רבה:)
    חוץ מהבדיקת תקינות של השם פרטי והמשפחה שיהיה רק אותיות הכל תקין

  20. mrmistory הגיב:

    בדיקות תקינות……..
    אתה כבר תבדוק גם בצד לקוח וגם בצד שרת  

    מקסימום אתה יכול לפתוח חשבון חינמי פה
    http://www.brinkster.com/Hosting/Educational.aspx
    תעלה הכל לחשבון שתפתח, ותבדוק.
    רק שנה חיבור למסד נתונים כדי שיהיה כללי ולא רק בבית שלך. שנה ך-DNS LESS
    אם לא טעיתי רשמתי נכון.

  21. Dan123 הגיב:

    בילד תראה איך השתמשתי בקוד שלך:


        <!–check for fname Illigel–>
        var p = document.add.lname.value.length ;
        var q = document.add.lname.value;
        for (var i = 1 ; i < p ; i++)
        {

            if(/[0-9]/.test(q.substring(i-1, i)))
                {
                    alert("Invalid First Name");
                    return false;
                }
        }

  22. BuildHome הגיב:

    אין סיבה שלא יעבוד
    וחבל להשתמש ב-2 משתנים כשאתה יכול להשתמש באחד.

    איזו שגיאה אתה מקבל?

  23. Dan123 הגיב:

    אני לא מקבל שגיאה…
    זה פשוט במקום לתת ALERT כשאני שם בשם הפרטי מספר, זה ממשיך ומקבל אותו, כשזה אמור לתת ALERT

שלח תשובה