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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как вставить элемент в таблицу 
V
    Опции темы
Mushu
Дата 28.6.2007, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Попытался вставить элемент (селект) в ячейку таблицы, кричит что обьект  невиден, в чем загвоздка...?
Код




<html>
<body>
<form>

<script>

var q = new Array();

            debugger;
            q[0] = new Object();
            q[0].name_teg = "select";
            q[0].id = 2;
                        
            
            q[1] = new Object();
            q[1].name_teg = "option";
            q[1].value = "P";
            q[1].text = "Пример1";
            
            q[2] = new Object();
            q[2].name_teg = "option";
            q[2].value = "O";
            q[2].text = "Пример2";
            
        
            
            
            

  var select = null;    
        for(var i=0; i<q.length; i++)
        {    
        switch(q[i].name_teg){
        case 'select':
                var e=document.createElement("SELECT");
                e.name = q[i].name_teg;
                e.id = q[i].id;
                //e.onchange = d;  //обработчик
                e.value = q[i].value
               
                select=document.getElementById("1").appendChild(e); //?????????????????
                break;        
        
        case'option':
                var e =document.createElement("OPTION");
                e.name = q[i].name_teg;
                
                e.value = q[i].value
                e.text  =q[i].text; 
                if(select)           
                 try {e=select.add(e, null) } //standards compliant; doesn't work in IE
                     catch(ex) {
                        e=select.add(e,select.options.length); // IE only
               }
               e=null
                break;
        
    
}




}
</script>




<table>
    <tr>
        <td id="1"> </td>
        <td id="2"> </td>
        
    </tr>
</table>
</form>
</body>
</html>

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


Опытный
**


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

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



Цитата(Mushu @  28.6.2007,  11:30 Найти цитируемый пост)
кричит что обьект  невиден, в чем загвоздка...?


А что ему ещё кричать, если ты обращаешься к элементу до которого ещё не дошёл сверху вниз html-парсер, таблица ещё не "прочитана", она ниже...

И заодно:

Цитата

ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
http://www.w3.org/TR/html401/types.html#h-6.2

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


Опытный
**


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

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



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


Опытный
**


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

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



Но теперь не выводиться текст в id=2 клетке в чем проблема..?

Код


<html>
<body>
<form>


<table>
    <tr>
        <td id="1"> </td>
        <td id="2"> </td>
        
    </tr>
</table>
</form>


<script>

var q = new Array();

            //debugger;
            q[0] = new Object();
            q[0].name_teg = "select";
            q[0].id = 2;
                        
            
            q[1] = new Object();
            q[1].name_teg = "option";
            q[1].value = "P";
            q[1].text = "Пример1";
            
            q[2] = new Object();
            q[2].name_teg = "option";
            q[2].value = "O";
            q[2].text = "Пример2";
            
            q[3] = new Object();
            q[3].name_teg = "text";

            q[3].text = "Текстовая строка";
            
            
            

  var select = null;    
        for(var i=0; i<q.length; i++)
        {    
        switch(q[i].name_teg){       
        case 'select':
                var e=document.createElement("SELECT");
                e.name = q[i].name_teg;
                e.id = q[i].id;
                //e.onchange = d;  //обработчик
                e.value = q[i].value
               
                select=document.getElementById("1").appendChild(e); //?????????????????
                break;        
        
        case'option':
                var e =document.createElement("OPTION");
                e.name = q[i].name_teg;
                
                e.value = q[i].value
                e.text  =q[i].text; 
                if(select)           
                 try {e=select.add(e, null) } //standards compliant; doesn't work in IE
                     catch(ex) {
                        e=select.add(e,select.options.length); // IE only
               }
               e=null
                break;
            
        case 'text':
                var e=document.createTextNode(q[i].text);
               
                             
                document.getElementById("2").appendChild(e); //?????????????????
                break;   
    
}




}


</script>




</body>
</html>


Это сообщение отредактировал(а) Mushu - 28.6.2007, 14:05
PM MAIL   Вверх
ksnk
Дата 28.6.2007, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

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



Код

           q[0].id = 2;
 и 
Код

        <td id="2"> </td>




--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Mushu
Дата 28.6.2007, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Решил, если посмотреть у меня 2 id

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


 




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


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

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