JavaScript: בעיה עם CloneNode - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

JavaScript: בעיה עם CloneNode


Bh

Recommended Posts

שלום. אני בונה טופס של הזמנת פריטים. כאשר לקוח מעוניין להזמין פריט נוסף אני יוצר שורה נוספת בטבלה להזמנת הפריט.

האובייקטים בטבלה משוכפלים ע"י שימוש ב-CloneNode והוספתם ל-Tbody ע"י appendChild.

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

הנה הפונקציה שאני משתמש(לקוחה מהאינטרנט):

nameNum = 1;
function addRow2(){
var t = document.getElementById('test2');
var tb = t.getElementsByTagName('tbody')[0];
var tr0 = tb.childNodes[0];

var myClone = tr0.cloneNode(true);
var newInpt = myClone.getElementsByTagName('input');
var newSel = myClone.getElementsByTagName('select');
var newTa = myClone.getElementsByTagName('textarea');

for (i=0; i<newInpt.length; i++){
var newName = newInpt[i].name.substring(0,newInpt[i].name.search(/\d/)) + nameNum;
newInpt[i].setAttribute('name',newName);
addNewEls(newName, newInpt[i].type);
}
for (i=0; i<newTa.length; i++){
var newName = newTa[i].name.substring(0,newTa[i].name.search(/\d/)) + nameNum;
newTa[i].setAttribute('name',newName);
addNewEls(newName, newInpt[i].type);
}
for (i=0; i<newSel.length; i++){
var newName = newSel[i].name.substring(0,newSel[i].name.length-1) + nameNum;
newSel[i].setAttribute('name',newName);
addNewEls(newName, newInpt[i].type);
}

nameNum++;
tb.appendChild(myClone);

}

הפונקציה פועלת יפה מאוד, והאובייקטים משוכפלים ללא בעיה מיוחדת.

שוב, לפני שאני משכפל את האובייקטים בטבלה, אני יכול להיכנס למאפיינים של האובייקט ע"י

document.forms("myForm").myFiels_1.value

ולראות האם הוזנו ערכים מתאימים וכו'. אך כאשר אני מפעיל את הפונקציה, לא ניתן לעשות זאת יותר, זאת השגיאה שמתקבלת:

Object doesn't support this property ot method: '..'

אני יכול להשתמש ב-

document.forms('myForm').elements[0]

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

למה זה קורה? איך ניתן לסדר את זה?

אני מקווה שהבנתם. אשמח לעזרה.. תודה מראש.. :xyxthumbs:

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...