Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Проблемы с DOM

Сообщения:  [1-4] 

 
 автор: Keyses   (09.03.2009 в 23:12)   письмо автору
 
   для: Keyses   (09.03.2009 в 22:09)
 

Спасибо. Решение найдено.

  Ответить  
 
 автор: Keyses   (09.03.2009 в 22:47)   письмо автору
 
   для: PAT   (09.03.2009 в 22:38)
 

подправил, только теперь поля перестали добавляться в Опере. IE не воспринимает только NAME или ID тоже?

Третье поле, на сколько я понимаю не вставлялось из-за того что не было
li.appendChild(btn_del);

Теперь оно вставляется но после кнопки удаления. :(

  Ответить  
 
 автор: PAT   (09.03.2009 в 22:38)   письмо автору
 
   для: Keyses   (09.03.2009 в 22:09)
 

Конструкция
var input = document.createElement("input");
input.name = field+count; 
в браузере Эксплорер создаст инпут, не имеющий атрибута NAME
Если вам этот инпут нужен только "для красоты", то сойдёт. А если же потом надо будет передать данные по сабмиту формы, то из этого поля данные не уйдут (ибо, повторяю, атрибута NAME у этого инпута не будет).
Для Эксплорера необходимо прописывать NAME прямо в методе createElement:
var input = document.createElement("<input name=" + field+count + ">");

  Ответить  
 
 автор: Keyses   (09.03.2009 в 22:09)   письмо автору
 
 

Проблема заключается в том, что цикл идёт 0..2, а полей рисуется только 2, почему так? И ещё мне нужно как-то между полями сделать интервал (вставить &nbsp; между полями которые в цикле).

Подскажите...

<script language="Javascript" type="text/javascript">
<!--
function addField(area,field,limit) {
    if(!document.getElementById) return;
    var field_area = document.getElementById(area);
    var all_inputs = field_area.getElementsByTagName("input"); 
    var last_item = all_inputs.length - 1;
    var last = all_inputs[last_item].id;
    var count = Number(last.split("_")[1]) + 1;
    
    if(count > limit && limit > 0) return;
     
    if(document.createElement) {
        var li = document.createElement("li");
        for (var i=0;i<3;i++){
         if (i==1) {field='birthday_';}    
         else if (i==2) {field='passport_';}    
        var input = document.createElement("input");
        input.type = "text";
        input.id = field+count;
        input.name = field+count;
        li.appendChild(input);
        }
        var btn_del = document.createElement("input");
        input.type = "button";
        input.onclick = "this.parentNode.parentNode.removeChild(this.parentNode);";
        input.value = " - ";
        field_area.appendChild(li);
    } 
}
//-->
</script>

  Ответить  

Сообщения:  [1-4] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования