[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Динамическое добавление input
filippoff
добрый день!

подскажите, в какую сторону копать: необходимо сделать динамическую форму, в которой при постановке курсора в поле input ещё несколько инпутов появляются сбоку + добавляется строка с аналогичным input (рядом с которым может что-то появиться).



Спустя 10 минут, 11 секунд (21.02.2008 - 22:54) disc написал(а):
Javascript и обработчик события onMouseOut

Спустя 1 час, 14 минут, 24 секунды (22.02.2008 - 00:08) filippoff написал(а):
да понятно, что java, в этой ветке и тему создал. событие onfocus скорей - это тоже понятно, но вот дальнейшая логика от меня что-то ускользает.

Спустя 3 часа, 44 минуты, 53 секунды (22.02.2008 - 03:53) filippoff написал(а):
в общем, в результате расковырял готовый пример и получил примерно такую не слишком изящную конструкцию, может кому пригодится.
единственное - не пока не дошло как передать фокус в появляющуюся строку

Код
<script language=JavaScript>
var numb;
numb = 1;
function add_new_row() {
    var currrow;
    currow = document.all.tbl.rows.length; // вычислить количество строк в таблице
    if(currow < 9)
    {
    numb++;
    document.all.tbl.insertRow(currow-1); // добавляем строку в таблицу
    document.all.tbl.rows[currow-1].insertCell(0); // добавляем ячейки
    document.all.tbl.rows[currow-1].insertCell(1);
    document.all.tbl.rows[currow-1].insertCell(2);
    document.all.tbl.rows[currow-1].insertCell(3);
    document.all.tbl.rows[currow-1].cells[0].innerHTML = '<input type=\"text\"  size=\"20\" name=\"model_'+ numb +'\">'; // вставляем в форму поля
    document.all.tbl.rows[currow-1].cells[1].innerHTML = '<input type=\"text\" size=\"20\" name=\"size_'+ numb+'\">';
    document.all.tbl.rows[currow-1].cells[2].innerHTML = '<input type=\"text\" size=\"20\" name=\"color_'+ numb+'\">';
    document.all.tbl.rows[currow-1].cells[3].innerHTML = '<input type=\"text\" size=\"20\" name=\"rost_'+ numb+'\">';
    document.all.tbl.deleteRow(8);
            
    }
}
</SCRIPT>
<FORM name=links method=post>
  <TABLE id=tbl cellSpacing=0 cellPadding=0 border=1>
    <TBODY>
      <TR>
        <TD>1</TD>
        <TD>2</TD>
        <TD>3</TD>
        <TD>4</TD>
      </TR>
      <TR>
        <TD><INPUT name=model_1 size="20">
        </TD>
        <TD><INPUT name=size_1 size="20"></TD>
        <TD><INPUT name=color_1 size="20"></TD>
        <TD><INPUT name=rost_1 size="20"></TD>
      </TR>
      <TR>
        <TD><INPUT name=model_1 onFocus="add_new_row()" size="20"></TD>
        <TD> </TD>
        <TD> </TD>
        <TD> </TD>
      </TR>
    </TBODY>
  </TABLE>
  <INPUT type=submit value=Отправить name=submit>
  <INPUT type=reset value=Очистить name=reset>
</FORM>

Спустя 1 день, 8 часов, 59 минут, 45 секунд (23.02.2008 - 12:53) mechanic написал(а):
вместо innerHTML лучше юзать dom-модель
создаете инпут: inp = document.createElement('input');
пото ему назначаются нужные аттрибуты (type, size, name, id)
а фокус ставится как то так: document.getElementById('myinput').focus();


Спустя 2 часа, 50 минут, 29 секунд (23.02.2008 - 15:43) Timok написал(а):
Цитата
вместо innerHTML лучше юзать dom-модель

чем? веб-стандарты? smile.gif


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.