שלח תשובה

זירת השאלות

215
צפיות
9
תשובות

שאלה קטנה בג’אווה סקריפט.

,‏ 20 במרץ, 2004

טוב קודם כל אני חדש באתר…
ועכשיו לשאלתי:
איך אני עושה בגאווה סקריפט שהמשתמש יוכל להזין רק מספרים?

אני יודע שזה פשוט אבל עם הזמן שוחכים (:

תגיות:

9 תשובות

  1. yavin הגיב:

    ברוכים הבאים
    יש כמה דרכים
    אני אישית עושה דבר כזה
    (event.keyCode < 45 || event.keyCode > 57)
    אם המשתמש לא מקליד מספרים שפבתחום אז…

  2. sd-web הגיב:

    כן אבל…
    אני זוכר שיטה פשוטה יותר.
    חוץ מזה אני צריך לצרף את זה ללולאת while.

  3. ניר טייב הגיב:

    regExp
    ב-input (או כל סוג פקד אחר) תוסיף באירוע onKeyPress את הקוד הקטנצ’יק הבא

    onKetPress=return (/[0-9]/i.test(String.fromCharCode(event.keyCode)))"

  4. sd-web הגיב:

    טוב…..
    נגיד יש לי חלק במסמך (ארוך) של לולאות ופלטים וקלטים……
    ואני רוצה שהקוד שנתת יעבוד רק על החלק הזה:


    <script language=JavaScript>
    a = 5 ;
    while (a >= 0) {
    a = parseFloat(prompt("בבקשה הקלד מספר שלילי") ) ;
    }
    </script>

    (הקוד הוא סתם דוגמא…)
    אז איך אני עושה שזה יעבוד רק על הלולאה הזו?

    תודה.

  5. ניר טייב הגיב:

    נסה אולי


    <script language=JavaScript>
    a = 5 ;
    while (a >= 0) {
    a = parseFloat(prompt("בבקשה הקלד מספר שלילי") ) ;
    a.onKetPress=return (/[0-9]/i.test(String.fromCharCode(event.keyCode)))"}
    </script>

  6. sd-web הגיב:

    מצאתי את מה שחיפשתי…
    הקיצר התשובה כבר הייתה בתוך הקוד
    ה-


    parseFloat

    עושה שיהיה אפשר רק מספרים – אחרת זה פשוט מסיים את הקטע.

  7. ניר טייב הגיב:

    תשתמש ב-parseInt
    parseFloat זה למס’ עשרוניים (עם הנקודה)

  8. sd-web הגיב:

    כאן התשובה המלאה והטובה ביותר.
    אני לא מסוגל לחשוב עד כמה דביל הייתי……
    אפשר פשוט לעשות את זה בעזרת Do…while .
    הנה הקוד שייתן לך להקליד רק מספר, אם הקלדת משהוא אחר הוא יבקש ממך להקליד מספר שוב וככה עד שתקליד מספר:


    <script labguage="JavaScript">
    var Num ;

    do {
    Num = prompt("הקלד מספר: ") ;
    } while (isNaN(Num)) ;

    alert("המספר שהקלדת הוא " + Num) ;

    </script>

    וזהו…
    זה היה הפיתרון…

שלח תשובה