הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [JS] עזרה עם סקריפט קטן ואיפשור כתיבה בעברית (https://hosts.co.il/forums/showthread.php?t=59825)

Dan_y2k 09-02-08 19:09

[JS] עזרה עם סקריפט קטן ואיפשור כתיבה בעברית
 
הסקריפט הוא כזה:

קוד:

<script language="javascript" type="text/javascript">
  // Validate all form input before sending the request on its way
  function validate ( frm ) {
     
      if (frm.username.value == '') {
        alert('בבקשה הכניסו כינוי.');
        return false;
      }
      if (frm.name.value == '') {
        alert('בבקשה הכניסו שם אמיתי.');
        return false;
      }
      // All is well - submit the form
      return true;
  }
</script>

זה של הסקריפט שבודק אם הוכנס טקסט כלשהו בשדות, ואם לא הוכנס, זה מציג alert.

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

הנה הקוד של שני השדות:

קוד:

<input name="username" type="text" size="25"  />
<input name="name" type="text" size="25" />

תודה רבה רבה לעוזרים!

Sagi 09-02-08 22:14

תשתמש ב onkeyup לכל שדה תעשה בדיקה עם PREG

Dan_y2k 09-02-08 22:57

שכחתי לציין שאני ממש בור ועם הארץ בכל מה שקשור לשפות תיכנות Web?
תודה לך בכל מקרה.

אשמח אם מישהו יוכל להראות לי את הקוד המתאים למה שביקשתי, תודה.

aviho1 09-02-08 23:03

אם כוונתך שהמילה תכיל רק אותיות באנגלית, אז תבנה פונקציה שמקבלת מילה ובודקת כל אות אם היא קטנה מa או A או גדולה מz או Z.

זה נכתב ככה :

קוד:

function chk_letter(str){

 for(i=0;i<str.length;i++)
{
if(((str.charAt(i))>'z' || (str.charAt(i))<'a') || ((str.charat(i))>'Z' || (str.charat(i))<'A')
return (false);
}
return (true);
return(ok);}


Dan_y2k 09-02-08 23:46

תודה אבל איך אני מיישם את זה על השדות שנתתי בקוד?

aviho1 09-02-08 23:58

פשוט תזמן את הפונקציה מהסקריפט הראשי:

קוד:

<script language="javascript" type="text/javascript">
function chk_letter(str){

 for(i=0;i<str.length;i++)
{
if(((str.charAt(i))>'z' || (str.charAt(i))<'a') || ((str.charat(i))>'Z' || (str.charat(i))<'A')
return (false);
}
return (true);
return(ok);}

  // Validate all form input before sending the request on its way
  function validate ( frm ) {
     
      if (frm.username.value == '') {
        alert('בבקשה הכניסו כינוי.');
        return false;
      }
else
{
if((chk_letter(frm.username.value))=false)
        alert('תקן כינוי.');
        return false;
}
      if (frm.name.value == '') {
        alert('בבקשה הכניסו שם אמיתי.');
        return false;
      }
else
{
if((chk_letter(frm.username.value))=false)
        alert('תקן כינוי.');
        return false;
}
      // All is well - submit the form
      return true;
  }
</script>


Dan_y2k 10-02-08 13:41

תודה, אבל זה לא עובד, זה נותן לי שגיאה.

aviho1 10-02-08 15:03

או שתגיד לי מה השגיאה או שתביא לי את הקובץ ואני יעשה לך.

Dan_y2k 10-02-08 21:14

יש לך מסנג'ר? בבקשה שלח לי אותו בפרטי, תודה.

Kfir.G 13-02-08 10:34

הקוד שנתנו לך אמור לפעול רק שלדעתי יותר נוח לעשות את זה עם REGEX וזהו... שים לב שאתה חייב לעשות בדיקת תקינות נוספת שלא קשורה לJavaScript שכן אפשר לעקוף את הבדיקות הללו בקלות יחסית...


כל הזמנים הם GMT +2. הזמן כעת הוא 00:13.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ