692
צפיות
צפיות
5
תשובות
תשובות
בעיה ב-JS
התחלתי ללמוד JS, והצלחתי לכתוב בו מלל (Hello World!), אבל כשניסיתי להדפיס משתנים, הדפדפן הראה לי דף ריק. מישהו יכול לעזור לי?
הנה, זה הקוד שהדפסתי:
<html>
<head>
<title>דף ניסויים בג'אווה-סקריפט</title>
</head>
<body>
<SCRIPT language=JavaScript>
function sumUp(1,2)
{
var result = 1+2;
document.write(result);
}
</SCRIPT>
</body>
</html>
5 תשובות
הפעלה
אתה צריך להפעיל את הפונקציה
לא ממש הבנתי אותך…
לא ממש הבנתי מה אומרת הפעלת פונקציה ואיפה שמים את ה:
<span onclick="sumUp(1,2) ;">הפעל</span>
הייתי לשים אותו בתוך הקטע של הסקריפט, לפניו או אחריו?
הבעיה לא בהפעלה אלא בפרמטרים
קודם כל, בוא נעשה סדר בקוד, ואח"כ נסביר לך את הבעיה:
1. מיקום של פונקציית JS תמיד יהיה בתוך HEAD, ולא BODY, אלא אם כן מדובר במצב נדיר, בו הפונקציה חייבת להירשם רק לאחר תגית BODY. במקרה שלך, לא משנה מתי המחשב יודע על קיומה של הפונקציה.
2. את תגית SCRIPT כותבים כך:
<script type="text/javascript" language="javascript">
שים דגש על מרכאות לפני ערכי המאפיינים של תגיות HTML בכלל. זה חשוב בתקן החדש.
הקוד אמנם יעבוד לך בלי מאפיין type של script, אבל בתקן המודרני לא נכון להתעלם ממנו. דווקא את מאפיין language מותר להוריד.
3. תגי HTML, על פי התקן המודרני חייבים להכתב באותיות קטנות ולא גדולות. זה עובד בכל צורה, אבל זה יעשה בעיות בעתיד.
כעת, לבעיה שגורמת לטעות:
שם פונקציה נכתב כך:
function fncName(arg1, arg2)
arg1 ו- arg2 מופרדים בפסיק, והם שמותץ של משתנים. לא ניתן לתת למשתנה את השם: 1 או השם: 2.
לכן, יש שגיאה בקוד שלך, כי הפונקציה מתייחסת למספרים 1 ו- 2 ששמת בשם שלה, כשמות ארגומנטים.
אתה צריך לרשום לדוגמה כך:
<script type="text/javascript" language="JavaScript">
function sumUp(argA, argB)
{
var result = argA + argB;
document.write(result);
}
</script>
בקריאה לקוד:
<span onclick="sumUp(1,2) ;">הפעל</span>
בברכה
אביעד
זה עדיין לא עובד…
עשיתי בדיוק את מה שאמרת, וזה לא עבד בכל זאת, ורק הדפיס על המסך "הפעל".
חוץ מזה, לא ממש הבנתי מה span onclick אמור לעשות, לא ראית את התג הזה בשום מקום באתר, אז אתה יכול להסביר לי עליו או לקשר אותי לאיפשהו?
אני עובר ל-xhtml…
התחלתי לעבור ל-XHTML, אבל הדפדפן שלי (IE) לא מפענח קידוד uft-8 (לפחות ככה זה נראה), והוא מציג לי את הכול בג'יבריש.
אפשר לעשות משהו נגד זה?
תודה מראש.