Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Динамическое создание checkbox 
:(
    Опции темы
mac3k
Дата 29.6.2008, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 2.7.2007

Репутация: нет
Всего: нет



Столкнулся со следующей проблемой - динамически создаю чекбоксы с лейблами, в Опере и Фоксе работает как задумано. Но в ИЕ совсем не работает как надо, лейблы не связываются с чекбоксами, да и галочки не устанавливаются при создании.
Код

<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
</head>
<body>
<div id="slist"></div>
<script type="text/javascript">
     
var slist = document.getElementById('slist');

for (var i = 0; i < 5; i++){ 
    var id = 'lb' + i; 
    var val = 'val_' + i; 
    var txt = 'label ' + i; 
    var element = document.createElement("input");
    element.type = "checkbox";
    element.id = id;
    element.name = "service";
    element.value = val;
    element.checked = true;
    slist.appendChild(element); 
    
    element = document.createElement("label"); 
    element.setAttribute("for", id);
    element.innerHTML = txt;
    slist.appendChild(element);
}
</script>  
<br />
<a href="#" onclick="alert(document.getElementById('slist').innerHTML);">Code</a>
</body>
</html>


Оказывается под ИЕ в атрибутах чекбоксов не устанавливаются кавычки, из-за чего проблемы (можно заметить в алерте).

Может кто подскажет как лечить?
PM MAIL   Вверх
comtat
Дата 1.7.2008, 00:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: 7
Всего: 71



Под IE6 и FF работает
Код

<html>
<head>
    <title>No title</title>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
</head>
<body>
    <div id="slist"></div>
<script type="text/javascript">
     
var slist = document.getElementById('slist');

for (var i = 0; i < 5; i++){ 
     var id = 'lb' + i; 
     var val = 'val_' + i; 
     var txt = 'label ' + i; 

    if(document.all){
        var element = document.createElement('<input type="checkbox" checked id='+id+' name="service" value='+val+' />');
        element.setAttribute("checked", true);
    } else {
        var element = document.createElement("input");
        element.type = "checkbox";
        element.id = id;
        element.name = "service";
        element.value = val;
        element.checked = true;
    }    
    slist.appendChild(element); 
    
    label = document.createElement('LABEL');
    label.htmlFor = id;
    label.innerHTML = txt;
    slist.appendChild(label);
}
</script>  
<br />
<a href="#" onclick="alert(document.getElementById('slist').innerHTML);">Code</a>
</body>
</html>



--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
mac3k
Дата 1.7.2008, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 2.7.2007

Репутация: нет
Всего: нет



Отлично отрабатывает, и в Опере, и в Фоксе, и в ИЕ7, и в Сафари тоже smile

comtat, спасибо Вам огромное, выручили!

Это сообщение отредактировал(а) mac3k - 1.7.2008, 13:32
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0721 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.