שלח תשובה

זירת השאלות

2976
צפיות
2
תשובות

getElementById(ID).innerHTML

,‏ 2 בינואר, 2016

היי
כתבתי פונקציה שיוצרת משתנה (מחרוזת) שבתוכו אני יוצר כל מיני סוגי inputs (בדרך הכי פשוט, פשוט מרכאות ובפנים מה שהייתי כותב בHTML).
בסוף כל התהליך, אני מוסיף את המחרוזת לתוך DIV ככה:

document.getElementById(divID).innerHTML += methodsInputs;

וככה אני יוצר עוד ועוד inputs בטופס.
כאשר אני לוחץ על הכפתור שמוסיף את הINPUTS הוא מוסיף אותן, הכל טוב ויפה. עובד מצוין!!!
הבעיה היחידה היא, שכשאני מוסיף INPUTS אז הINPUTS הקודמים נשארים, אבל הvalues שלהם נמחקים…
איך אני יכול להימנע מזה?
תודה רבה!

תגיות: , ,

2 תשובות

  1. כשאתה כותב innerHTML+= המנוע בעצם לוקח את הסטרינג שקיים, מוסיף עליו את הסטרינג החדש, וכותב ל-DIV. זה גורם לאיפוס שאתה מקבל כי ה-HTML נכתב מחדש.

    אתה צריך ליצור לעצמך DIV ריק עם ID כפי שעשית, ולזרוק את התוכן *מתחתיו* ולא בתוכו. כלומר בכל פעם להוסיף עוד DIV נפרד בלי להשפיע על ה-DIV שכבר נכתב לדף

שלח תשובה