У меня есть таблица внутри формы, которая заполнена различными полями ввода.Я написал различные функции JavaScript, которые позволят пользователю добавлять или удалять строки из таблицы, а также динамически переименовывать имена элементов, которые идут после того, где пользователь ввел строку (если это имеет смысл - надеюсь, мой код объяснитто, что я пытаюсь сделать).
Это работает в IE9, Firefox и Chrome, но не в IE7 (которым в настоящее время пользуются многие люди в моей организации, которые все еще используют XP).1004 * Код не самая элегантная вещь, которую я когда-либо писал, но мне нужно это исправить, прежде чем демонстрировать ее перед людьми завтра!(Так что я готов рассмотреть все, даже если это быстрое и грязное исправление на данный момент!)
Спасибо!
for (var e = 0; e < editForm.elements.length; e++) {
// Increment 'add row' buttons so that they add underneath the correct row
if (editForm.elements[e].name.length >= 4) {
if (editForm.elements[e].name.substr(0, 4) == 'add_') {
stringPos = editForm.elements[e].name.indexOf('_');
currentQuestionNumber = editForm.elements[e].name.substr(stringPos + 1);
if (currentQuestionNumber > pos) {
editForm.elements[e].name = 'add_' + (parseInt(currentQuestionNumber) + 1);
editForm.elements[e].id = 'add_' + (parseInt(currentQuestionNumber) + 1);
editForm.elements[e].setAttribute("onclick", "addRow(" + (parseInt(currentQuestionNumber) + 1) + ");");
}
}
}
Вместо ...
editForm.elements[e].name = 'add_' + (parseInt(currentQuestionNumber) + 1);
... Я также использовал ...
editForm.elements[e].setAttribute("name", "add_" + (parseInt(currentQuestionNumber) + 1));
... но в IE7 это тоже не работает.Любая помощь приветствуется.