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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не рисуется точка в radio кнопке при клике, Не прорисовывается черная точка =-\ 
V
    Опции темы
arbuzzz
Дата 15.8.2007, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Случился какой-то непонятный глюк. Ситуация следующая: есть форма. На ней динамически создаются всяческие элементы управления. Один из элементов  - <input type='radio'>
Так вот после того как он создан, в Internet Explorer'е почему-то не прорисовывается черная точка при клике на него. Сам клик обрабатывается правильно, значение на сервер уходит верное и в других браузерах все выглядит нормально.
Вот код создания элемента. Сохдается их несколько и они помещаются в одну ячейку.
Код

                    case 'radio':
                     var     e = newEl("input");
                        e.type = 'radio';
                     e.name = req.responseJS.q[i].name;
                     e.value = req.responseJS.q[i].value;
                     e.id = req.responseJS.q[i].id;
                     e.className = 'input_r';
                     label = document.createTextNode(req.responseJS.q[i].text);
                     
                     
                     if(req.responseJS.q[i].check == '1'){
                         e.checked = 'checked';
                     }
                     e.cssText = "border:none;";
                     var oTd = newEl('td');
                     
                     if(!getEl('par_'+req.responseJS.q[i].id)){
                         var par_rad_td = tr.appendChild(oTd);
                         par_rad_td.id = 'par_'+req.responseJS.q[i].id;
                     }
                     else{
                         par_rad_td = getEl('par_'+req.responseJS.q[i].id);
                     }
                        
                     if(!getEl('m_block_'+req.responseJS.q[i].id)){
                         var m_block = newEl('div');
                         m_block.id='m_block_'+req.responseJS.q[i].id;
                     }
                     else{
                         m_block = getEl('m_block_'+req.responseJS.q[i].id);
                     }
                                            
                        var oBlock = newEl('div');                            // Создаем div
                        oBlock.id='edit_block';                                // присваиваем ему ID 
                        oBlock.appendChild(e);                    // и помещаем в него элемент управления
                        oBlock.appendChild(label);
                    
                        var oCommentBlock = newEl('div');                    //Создаем div в который будет помещаться
                        oCommentBlock.id='edit_comment';
                        oCommentBlock.className = "comment";                // коментарий к элементу
                        oCommentBlock.innerHTML = req.responseJS.q[i].comment;        // Добавляем комментарий
                                                                    
                        m_block.appendChild(oBlock);                        // Добавляем к главному div блок с элементом управления
                                            
                        par_rad_td.appendChild(m_block);                    // Добавляем главный div в ячейку
                        par_rad_td.appendChild(oCommentBlock);                // Добавляем к главному div блок с комментарием
                     addEvent(e,'click',req.responseJS.q[i].reg_exp,req.responseJS.q[i].sub_load);
                        break;
                    case 'multi_select':
                        if(req.responseJS.q[i].enabled == ''){                                // Проверка на активность элемента
                         aFull.splice(aFull.length,0,req.responseJS.q[i].id);            // Массив заполненности формы
                     }
                     select = create_block('select',req.responseJS.q[i],true);
                     break;



req.responseJS.q - объект, получается с серевера с через ajax библиотеку.
Вот так выглядят элементы после создания
Код

<input type="radio" name="OPHR_type" value="OPHR" id="OPHR_type" class="input_r"/>
<input type="radio" name="OPHR_type" value="t_name_level_1" id="OPHR_type" class="input_r"/>

PM MAIL   Вверх
Mushu
Дата 17.8.2007, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Решил
Код

<HTML>
<HEAD>
<script>
function createRadioButton(){
    // Create radio button object with value="First Choice" and then insert 
    // this element into the document hierarchy.
    var newRadioButton = document.createElement("<INPUT TYPE='RADIO' NAME='RADIOTEST' VALUE='First Choice'>")
    document.body.insertBefore(newRadioButton);
    // Create radio button object with value="Second Choice" and then insert 
    // this element into the document hierarchy. 
    newRadioButton = document.createElement("<INPUT TYPE='RADIO' NAME='RADIOTEST' VALUE='Second Choice'>")
    document.body.insertBefore(newRadioButton);
}
</SCRIPT>
</HEAD>

<BODY>
<INPUT TYPE="BUTTON" ONCLICK="createRadioButton()" VALUE="Create two Radio Buttons"><BR>

<INPUT TYPE="BUTTON" ONCLICK="alert ( document.body.outerHTML )" VALUE="Click here to see HTML">

<BODY>
</HTML>

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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