js וdom

liavhilel

New member
js וdom

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

זהר פלד

New member
תחליף קונספט.

אל תשתמש ב rowindex, אלא תעביר לפונקציה this, או כבר את ה tr עצמו, ותשתמש בזה במקום.
 

liavhilel

New member
אני משתמש בthis

זו הקריאה לפונקציה שמוחקת את השורה
deleteRow(this.parentNode.parentNode.rowIndex)​
מה הכוונה לשלוח את הtr כולו?
 

liavhilel

New member
ממש תודה על כל העזרה. אגב שים לב

שגם צריך לשנות את הinnerTEXT לinnerHTML. העליתי קובץ מתוקן.
 

liavhilel

New member
האמת שיש לי עוד שאלה

לא מספיק ברורה לי צורת הכתיבה הזו
oTd.innerHTML = "<input type=\"button\" value=\"remove row\" onClick=\"deleteRow(this, 'theTbody')\">";​
מה מקום ה/ והגרשיים, אני פשוט צריך להוסיף שורה עם כל מיני שדות וכל מיני תכונות לכן אני הוספתי "ילדים" לשורה ככה:
oTD = document.createElement("TD"); oDiv = document.createElement("DIV"); oInput = document.createElement("INPUT"); oInput.name="day"; oInput.type="text"; oInput.id="day"; oDiv.appendChild(oInput); oDiv.align="center"; oTD.appendChild(oDiv); oTR.appendChild(oTD);​
בצורה שהיא יותר ברורה ובאמת הקוד הזה עבד לי בFF אבל לא בIE. יש לכם דרך אחרת שבה אני יכול לכתוב קוד שאני אבין אבל גם יעבוד בשני הדפדפנים? פשוט השיטה העליונה היא ממש לא ברורה לי בתחביר ואני לא אוהב להכניס קוד לדפים שלי שאני לא מבין. ממש תודה על כל העזרה עד עכשיו
 

זהר פלד

New member
מאוד פשוט:

ב javascript, כשאתה רוצה להכניס את התו " למחרוזת, אתה צריך לשים לפניו \. למה? כדי שה javascript לא יתייחס לתו " כאל סיום המחרוזת, אלא כאל תו לגיטימי בתוך המחרוזת.
 

liavhilel

New member
הבנתי... ממש ../images/Emo51.gif ועוד שאלה

אם אפשר. 1. האם אופן הכתיבה שהשתמשתי בו (מצורף HTM) לא עדיף בהתחשב בזה שהוא מסודר יותר והיררכי? 2. למה הוא לא עובד בIE? הרי חשבתי שכל דבר שיעבוד בFF יעבוד בIE כי הFF הוא תקני. מישהו יכול להסביר לי מה לא נכון שם. תודה רבה רבה על כל העזרה עד עכשיו.
 

זהר פלד

New member
הממ...

1) כתוב איך שנוח לך. אין הבדל משמעותי בין השיטה שאתה השתמשת בה לשיטה שאני השתמשתי בה. לי יצאו קצת פחות שורות קוד, אבל זה הבדל זניח. 2) לא מתווספת לך שורה ב ie כי אתה מוסיף אותה לטבלה במקום ל tBody. הקובץ המצורף הוא תיקון של הקובץ שלך - כל מה שעשיתי הוא להחליף את המשתנה oTable שהחזיק רפרנס לטבלה במשתנה oTBody שמחזיק רפרנס לתג tBody. ד"א, אאל"ט, זו הדרך התקנית לעבוד. חוצמזה, יש לא מעט דברים בתקן ש ie לא תומך בהם, וגם יש דברים ש ff לא תומך בהם. לא כל מה שיעבוד על האחד יעבוד גם על האחר.
 
למעלה