2012-02-17 1 views
0

Я использую простой ванильный JavaScript для клонирования полей и изменения атрибутов ID/name любого из полей формы в наборе полей.Как получить IE7 для изменения атрибута имени радиокнопок с использованием обычного JavaScript?

Все работает правильно, за исключением IE7, клонированные радиокнопки обрабатываются как одна группа. Например, в одном наборе полей у меня есть два переключателя. Когда я клонирую его и добавляю еще один набор полей, затем нажмите на последнюю кнопку переключателя нового набора полей, он отключит самый первый переключатель.

Это, кажется, ошибка в IE7, где он не меняет атрибут имени (хотя все работает правильно в других браузерах). Я использую input.getAttribute ("name") и также попытался input.htmlName, но не имеет никакого значения.

Есть ли у кого-нибудь советы о том, как заставить IE7 рассматривать группу переключателей для каждого набора полей как отдельную группу?

Вот код, я использую:

input.setAttribute("name", inputName + fieldsetNumber); 

Обычные текстовые INPUTs работают нормально, проблема только включает в IE7 и радио кнопок. Из всего, что я откопал, в IE7 есть ошибка с переключателями.

+0

Можете ли вы разместить свой существующий сценарий? Я бы подумал, что 'input.name =" newName ";' будет работать, чтобы установить атрибут 'name' в строку' 'newName ''.? –

+0

Я обновил свой пост выше на примере. Я также пробовал input.name, как вы опубликовали в своем комментарии, но это тоже не сработало. Глупый IE7. – Zoolander

ответ

0

Это работает, проверено.

function changeName(targetId,newName){ 
document.getElementById(targetId).name = newName; 
} 
+0

Проверено на каком браузере/платформе? –

+0

Я изменяю атрибуты, которые находятся в клонированном объекте. Изменение идентификаторов/имен отлично работает в IE7 для ввода текста, но оно не находится в переключателях. – Zoolander

+0

@ ДавидТомас - Ах, хорошо. Это не было протестировано с IE7 по запросу OP. Я буду изучать редактирование или удаление. –