פורסם 2006 בפברואר 1319 שנים שלום לכולם אני מעוניים לבדוק תקינות של טופס על מחשב הלקוח על ידי סקריפט ב JS אבל אני לא מצליח הנה קטע קוד שכתבתי <form name="login" action="login.asp" method="get" OnSubmit="return check(this)">îùúîù:<br><input type="text" name="uid" size="14" maxlength="14"> <br>ñéñîä:<br><input type="password" name="psw" size="14" maxlength="14"> <br><input type="submit" name="send" value="äúçáø" ><input type="reset" name="clean" value="ð÷ä"><br><a href="register.htm" target="main"> ìäøùîä ìçõ ëàï</a></form><script language="javascript">function checklength(form){var s=form.uid.value;var l=s.length;if (l<6)return (false);elsereturn (true);}function valid(form){var s=form.uid.value;var l=s.length;var i=0;while ((i<l)&&(((s.chatAt(i)>="0")&&(s.chatAt(i)<="9"))||((s.chatAt(i)>="a")&&(s.chatAt(i)<="z"))||((s.chatAt(i)>="A")&&(s.chatAt(i)<="Z"))))i=i+1;if (i==l)return (true);elsereturn (false);}function check(form){if ((checklength(form))&&(valid(form)))return (true);else{form.uid.value="mistake";return (false);}}</script>קטע הקוד אמור לבדוק האם השתמש כתב את כמות התווים המינמלית המותרת ובנוסף גם האם כל התווים הם מספרים או אותיות אנגליותנ"ביש מספר קטעים בקוד שהוספתי בשביל למצוא מה מקור השגיאה אין צורך להתייחס אליהםתודה מראש לעוזרים :s05:
פורסם 2006 בפברואר 1319 שנים קודם כל אני לא רואה פה אף קריאה לפונקציות שעשית ב JSחוץ מזה כאשר אתה רוצה לקחת אובייקט HTML בעזרת JS תשתמש בצורה הבאה:document.getElementById("THE NAME OF THE OBJECT").value=xxxאו להיפך
פורסם 2006 בפברואר 1319 שנים מחבר הוספתי את ה- DOCUMENT אבל איך אני קורא לפונקציה לא הבנתי את כוונתך הרי אמרתי בטופס שבזמן שליחה יפעיל את הפונקציה ויבדוק אם היא מחזירה אמת או שקר אתה יכול להסביר לי את כוונתך ? רציתי לשאול אותך בנוסף אם הפונקציה שבודקת אם התווים באנגלית או מספריים נכונה? נראה לי שגם בזה יש ל י טעות
פורסם 2006 בפברואר 1319 שנים בלי להתעמק בזה יותר מדיי, יש לך שגיאה בסיסית בקריאה למשתנים מה-form.בקצרה, הדרך הכי פשוטה היא לקרוא לפונקציה בצורה הזאת:<form name="login" action="login.asp" method="get" OnSubmit="return check(this)">ובפונקציות עצמן לעשות:function checklength(form){var s=form.uid.value;var l=s.length;if (l<6)return (false);elsereturn (true);}function valid(form){var s=form.uid.value;var l=s.length;var i=0;while ((i<l)&&(((s.chatAt(i)>="0")&&(s.chatAt(i)<="9"))||((s.chatAt(i)>="a")&&(s.chatAt(i)<="z"))||((s.chatAt(i)>="A")&&(s.chatAt(i)<="Z"))))i=i+1;if (i==l)return (true);elsereturn (false);}function check(form){if ((checklength(form))&&(valid(form)))return (true);else{form.uid.value="mistake";return (false);}}אני לא מבטיח שזה יעבוד, יכול להיות שיש עוד בעיות, אבל זה קודם כל..נ.באתה יכול כמובן לקרוא לזה גם דרך document.login.field וכו' במקום לעבוד עם אובייקט ספציפי לפונקציה ולקרוא לה עם this, אבל שים לב שאתה צריך להשתמש ב-"full path" הזה תמיד, בכל מקום.נ.ב.ב...אם נניח אתה רוצה להריץ את הפונקציה OnClick של כפתור כלשהו, ולא ב-OnSubmit של ה-form עצמו, תשתמש ב-check(this.form)
פורסם 2006 בפברואר 1319 שנים מחבר נראה שלפחות הבדיקה של כמות התווים עובדת אולם הבדיקה של סוג התווים לא ואני לא מצליח להבין למה אתה יכול לבדוק את ההגיון של הבדיקה הכול תקין שם?
פורסם 2006 בפברואר 1319 שנים עומרי, נראה לי שעשית לו עכשיו סלט שלם.קודם כל אני מבין שאין לך מושג איך להפעיל את הפונקציות שכתבת ב JS. הרי לא מספיק לכתוב אותם צריך גם להפעיל אותם בזמן הנכון.אני אף פעם לא השתמשתי בשיטה שהציע עומרי (אבל אני מניח שהוא יודע מה הוא אומר), בכל מקרה מה שעומרי כתב לך בשורה הראשונהזה כאשר הטופס נשלח (כלומר לחצת על הכפתור שיצרת submit) הוא מפעיל את הפונקציה check.יש דרכים נוספות לבעיה זאת, תלוי מה המטרה. למשל בעזרת הפונקציה onClick אשר מוצבת בתוך הכפתור עצמו או שימוש בסוג אחר של כפתור שאינו עושה submit אלה מפעיל פונקציה שאתה בוחר!אגב עומרי מה זה onSubmit ? אם מחזיר נכון ממשיך הלאה? ואם מחזיר לא נכון, מה קורה אז??
פורסם 2006 בפברואר 1319 שנים מחבר ONSUBMIT אומר שבזמן שלוחצים על כפתור שליחה הוא בודק אם הערך של הפונקציה אמת או לא אם כן ממשיך בשליחה אם לא אז עוצר אותה הסתבכתי לגמרי עם הפונקציה הזאת כבר היא שגעה אותי
פורסם 2006 בפברואר 1319 שנים OnSubmit זה טריגר שמופעל כשעושים.. הממ.. submit ל-form היא לא תלויה בשיטה שגרמה ל-form לעבור submit.. זה יכול להיות כפתור, טיימר, תנאי ספציפי בג'אווה סקריפט שעושה form.submit.. מה שבא לך.. את OnClick אתה יכול לדחוף לכפתור ה-Submit למשל, או סתם לכפתור "Check form" כללי שלא עושה submit. אבל אז (בגלל שה-this מפנה לכפתור הספציפי, ואתה רוצה לעבוד על כל ה-form), אתה צריך לקרוא ל-this.form. אם זה יחזיר false השליחה של ה-form תבוטל. ב-true היא תמשיך כרגיל..
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.