23-01-2006, 09:30
|
|
|
חבר מתאריך: 20.02.03
הודעות: 2,396
|
|
שוב קיים אצלך בילבול בין הקטע המתבצע בצד לקוח, והקטע המתבצע בצד שרת.
אין לי מאמר שלם בהישג יד שמסביר את ההבדלים ואת העקרונות, אולם זה על קצה המזלג:
הקוד שלך רץ בשרת, ונוצר פלט כלשהו. הפלט אינו מכיל את הקוד המקורי, אלא קוד HTML (במקרה שלך) אשר יוצא מהשרת אל הלקוח (הדפדפן).
כשאתה מתעסק בתכנות צד שרת מומלץ להציץ בפלט של התוכנית שכתבת. (תלחץ בדפדפן מקש ימני, ולאחר מכן - הצג מקור/view source). שים לב שהפלט של התוכנית שלך (לאחר הריצה בשרת) הוא כזה:
קוד PHP:
<script> function printArray(arr) { alert(arr) }
</script>
<span onclick="printArray(Array)">print it</span>
שים לב שאם תיקח את הקוד הנ"ל ותריץ אותו בדפדפן - מה שתקבל זה בדיוק מה שקיבלת כשהרצת את הקוד דרך השרת (מן הסתם מדובר באותו פלט, אולם חשוב שתבין למה ככה זה עובד).
על מנת להציג את המערך הקיים ב-PHP כמערך ב-JS אתה צריך ליצור פלט חוקי ב-JS. הדפסה של המשתנה המכיל את המערך תגרום להדפסה של המילה Array (ולא של המערך עצמו).
פרטים נוספים על מערכים (אופני שימוש, מעבר על איברי המערך וכו') אתה יכול למצוא פה.
אגב, התגיד script דורש תוספת של המאפיין type. במקרה שלך מדובר בסקריפט בשפת js, ולכן ערך המאפיין צריך להיות text/javascript. קפוץ לפה לפרטים נוספים.
בברכה,
דקל
_____________________________________
"מתכנת זה אדם שפותר בעיה שעל קיומה לא ידעת, בדרך שאינך מבין"
|