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

HTML+CSS+JavaScript

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

 

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

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

тема: динамич. форма

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

 
 автор: P@Sol   (27.12.2005 в 11:04)   письмо автору
 
   для: Crux   (17.11.2005 в 20:18)
 

http://softtime.ru/forum/read.php?id_forum=4&id_theme=6640&page=1 - похожая тема (если кто то вдруг будет искать)
http://www.softtime.ru/info/articlephp.php?id_article=67 - хорошая статья

   
 
 автор: P@Sol   (27.12.2005 в 10:27)   письмо автору
 
   для: Crux   (17.11.2005 в 20:18)
 

отбой:( не помогает это в моем случае

   
 
 автор: Crux   (17.11.2005 в 20:18)   письмо автору
 
   для: servannin   (17.11.2005 в 16:19)
 

для работы с таблицами специально разработанны свои команды, спрашивается зачем??


    function addRow() { 
    t_id=document.getElementById('textfield326').value; 
    int_t_id = parseInt(t_id); 
    var tbl = document.getElementById('tbl').tBodies[0];
    for(var i=tbl.childNodes.length-1;i >= 0;i--) tbl.deleteRow(i)

    for(var i=0;i < int_t_id;i++){ 
        var tbl = document.getElementById('tbl').tBodies[0];
        var row=tbl.insertRow(tbl.childNodes.length)
        row.style.display="block"
        row.id="tr"+i
        
        Cell = row.insertCell(-1)
        Cell.width="17%"
        Cell.innerHTML='<input type="text" class="inputFull" size="10"  value="'+i+'">'
        
        Cell = row.insertCell(-1)
        Cell.width="12%"
        Cell.innerHTML='<input type="text" class="inputFull" width="10" value="'+i+'">'
        
        Cell = row.insertCell(-1)
        Cell.width="14%"
        Cell.innerHTML='<input type="text" class="inputFull" width="10" value="'+i+'">'
        
        Cell = row.insertCell(-1)
        Cell.width="12%"
        Cell.innerHTML='<input type="text" class="inputFull" width="10" value="'+i+'">'
        
        Cell = row.insertCell(-1)
        Cell.width="14%"
        Cell.innerHTML='<input type="text" class="inputFull" width="10" value="'+i+'">'
        
        Cell = row.insertCell(-1)
        Cell.width="12%"
        Cell.innerHTML='<input type="text" class="inputFull" width="10" value="'+i+'">'
        
        Cell = row.insertCell(-1)
        Cell.width="12%"
        Cell.innerHTML='<input type="text" class="inputFull" width="10" value="'+i+'">'

        Cell = row.insertCell(-1)
        Cell.width="160"
        Cell.innerHTML='<img src="pictures/del.gif" width="16" height="16" onclick="hide('+i+')" alt="удалить">'
        } 
    } 



<table cellspacing=0 border=0 id=tbl> 
<body>
            
</body>
</table>

   
 
 автор: servannin   (17.11.2005 в 16:19)   письмо автору
 
   для: servannin   (17.11.2005 в 12:15)
 

вот сейчас при нажатии на кнопку "Применить" создаётся указанное кол-во строк,при ещё одном нажатии ,добавляются ещё строки,а как изменить код,чтобы не добавлялись строки ,а рисовались заново?


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Северсталь</TITLE>
<META content="text/html; charset=windows-1251" http-equiv=Content-Type>
<LINK href="style.css" rel=stylesheet type=text/css>

<SCRIPT language='JavaScript'>
    function hide(i)
    {
        document.getElementById("tr"+i).style.display = 'none';
    }
    
    function addRow() {
    var    cell = '';
    var    cell2 = '';
    var    cell3 = '';
    var    cell4 = '';
    var    cell5 = '';
    var    cell6 = '';
    var    cell7 = '';
    var    cell8 = '';
    var tb1 = '';
    var row = '';
    t_id=document.getElementById('textfield326').value;
    int_t_id = parseInt(t_id);
    for(var i=0;i < int_t_id;i++){
        var tbl = document.getElementById('tbl');
        var row = document.createElement('<tr style="display:done;" id="tr'+i+'">');
        var cell = document.createElement('<td width="17%">');
        var cell2 = document.createElement('<td width="12%">');
        var cell3 = document.createElement('<td width="14%">');
        var cell4 = document.createElement('<td width="12%">');
        var cell5 = document.createElement('<td width="14%">');
        var cell6 = document.createElement('<td width="12%">');
        var cell7 = document.createElement('<td width="12%">');
        var cell8 = document.createElement('<td width="160">');
        row.appendChild(cell);
        row.appendChild(cell2);
        row.appendChild(cell3);
        row.appendChild(cell4);
        row.appendChild(cell5);
        row.appendChild(cell6);
        row.appendChild(cell7);
        row.appendChild(cell8);
        tbl.appendChild(row);
         cell.appendChild(document.createElement('<input type="text" class="inputFull" size="10"  value="'+i+'">'));
        cell2.appendChild(document.createElement('<input type="text" class="inputFull" width="10" value="'+i+'">'));
        cell3.appendChild(document.createElement('<input type="text" class="inputFull" width="10" value="'+i+'">'));
        cell4.appendChild(document.createElement('<input type="text" class="inputFull" width="10" value="'+i+'">'));
        cell5.appendChild(document.createElement('<input type="text" class="inputFull" width="10" value="'+i+'">'));
        cell6.appendChild(document.createElement('<input type="text" class="inputFull" width="10" value="'+i+'">'));
        cell7.appendChild(document.createElement('<input type="text" class="inputFull" width="10" value="'+i+'">'));
        cell8.appendChild(document.createElement('<img src="pictures/del.gif" width="16" height="16" onclick="hide('+i+')" alt="удалить">'));
        }
    }
</SCRIPT>


</HEAD>
<div class="divContent"> 
        <TABLE width="536" border="0" cellspacing="1" cellpadding="0">
          <TR> 
            <TD class="divTD" width="129"> 
              <DIV align="right">Грузополучатель</DIV>
            </TD>
            <TD class="divTD" colspan="3"> 
              <SELECT name="select3" class="inputFull" >
                <OPTION selected>-- Добавить --</OPTION>
              </SELECT>
            </TD>
          </TR>
          <TR> 
            <TD class="divTD" width="129"> 
              <DIV align="right"></DIV>
            </TD>
            <TD class="divTD" colspan="3"> 
              <INPUT type="text" name="textfield" class="inputFull" >
            </TD>
          </TR>
          <TR> 
            <TD class="divTD" width="129"> 
              <DIV align="right">Адрес:</DIV>
            </TD>
            <TD class="divTD" colspan="3"> 
              <INPUT type="text" name="textfield2" class="inputFull" >
            </TD>
          </TR>
          <TR> 
            <TD class="divTD" width="129" height="43"> 
              <DIV align="right">Станция назначения:</DIV>
            </TD>
            <TD class="divTD" colspan="3" height="43"> 
              <INPUT type="text" name="textfield3" class="inputFull">
              <DIV align="right"></DIV>
            </TD>
          </TR>
          <TR> 
            <TD class="divTD" width="129"> 
              <DIV align="right">Код получателя:</DIV>
            </TD>
            <TD class="divTD" width="156"> 
              <INPUT type="text" name="textfield32" class="inputFull">
            </TD>
            <TD class="divTD" width="83"> 
              <DIV align="right">ОКПО:</DIV>
            </TD>
            <TD class="divTD" width="163"> 
              <INPUT type="text" name="textfield33" class="inputFull">
            </TD>
          </TR>
          <TR> 
            <TD class="divTD" width="129"> 
              <DIV align="right">Количество строк:</DIV>
            </TD>
            <TD class="divTD" colspan="3"> 
              <INPUT type="text" id="textfield326" class="form35" value="10">
              <INPUT type="submit" name="Submit2" onclick="addRow()" value="применить" class="button">
            </TD>
          </TR>
          <TR> 
            <TD class="divTD" width="129">&nbsp;</TD>
            <TD class="divTD" width="156">&nbsp;</TD>
            <TD class="divTD" width="83">&nbsp;</TD>
            <TD class="divTD" width="163">&nbsp;</TD>
          </TR>
        </TABLE>
<div class="divTable">
        <TABLE width="100%" border="0" cellspacing="1" cellpadding="0">
          <TR bgcolor="#CCCCCC">
            <TD class="divTD" width="17%"><SPAN class="headTable">Наименование</SPAN></TD>
              <TD class="divTD" width="12%"><SPAN class="headTable">ГОСТ, ТУ</SPAN></TD>
              <TD class="divTD" width="14%"><SPAN class="headTable">Марка Стали</SPAN></TD>
              <TD class="divTD" width="12%"><SPAN class="headTable">Размер</SPAN></TD>
              <TD class="divTD" width="14%"><SPAN class="headTable">Объём, тонн</SPAN></TD>
              <TD class="divTD" width="14%"><SPAN class="headTable">Характеристики</SPAN></TD>
            <TD class="divTD" width="17%"><SPAN class="headTable">Примечание</SPAN></TD>
          </TR>
          <table cellspacing=0 border=0>
            <tr id=tbl>
               </tr>
          </table>
   </TABLE>
          <P align="right">
            <input type="submit" name="Submit3" value="Напечатать" class="buttonBig">
            <INPUT type="submit" name="Submit" value="Отправить заявку" class="buttonBig">
          </P>
</div>
</HTML>

   
 
 автор: servannin   (17.11.2005 в 12:15)   письмо автору
 
   для: Crux   (16.11.2005 в 22:36)
 

я где-то на этом сайте видел скрипт добавления/удаления строк,не подскажите где можно найти?

   
 
 автор: Crux   (16.11.2005 в 22:36)   письмо автору
 
   для: servannin   (16.11.2005 в 19:20)
 

innerHTML с таблицами не катит (у меня во всяком случае не получалось, только если таблицу целиком записывать).
воспольуйся insertRow - для добавления строки и insertCell - для добавления столбцов в строку.

добовляю ко всему сказаному файлик pdf-ый, инфа старая но полезная

   
 
 автор: servannin   (16.11.2005 в 19:20)   письмо автору
 
 

Как переделать этот код,чтобы он работал?Т.е. чтобы при клике на кнопку "Применить" - добавлялся ещё одна строка текстовых полей.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META content="text/html; charset=windows-1251" http-equiv=Content-Type>
<LINK href="style.css" rel=stylesheet type=text/css>

<SCRIPT language='JavaScript'>

var c=0;
function addline()
{
c++;
s=document.getElementById('table').innerHTML; // получаем HTML-код таблицы
s=s.replace(/[\r\n]/g,''); // вырезаем все символы перевода строк
re=/(.*)(<tr id=.*>)(<\/table>)/gi; 
 // это регулярное выражение позволяет выделить последнюю строку таблицы
s1=s.replace(re,'$2'); // получаем HTML-код последней строки таблицы
s2=s1.replace(/\[\d+\]/gi,'['+c+']'); // заменяем все цифры к квадратных скобках
 // на номер новой строки
s2=s2.replace(/(rmline\()(\d+\))/gi,'$1'+c+')');
 // заменяем аргумент функции rmline на номер новой строки
s=s.replace(re,'$1$2'+s2+'$3');
 // создаём HTML-код с добавленным кодом новой строки
document.getElementById('table').innerHTML=s;
 // возвращаем результат на место исходной таблицы
return false; // чтобы не происходил переход по ссылке
}
function rmline(q)
{
  if (c==0) return false; else c--;
 // если раскомментировать предыдущую строчку, то последний (единственный) 
 // элемент удалить будет нельзя.
s=document.getElementById('table').innerHTML;
s=s.replace(/[\r\n]/g,'');
re=new RegExp('<tr id="?newline"? nomer="?\\['+q+'.*?<\\/tr>','gi');
 // это регулярное выражение позволяет выделить строку таблицы с заданным номером
s=s.replace(re,'');
 // заменяем её на пустое место
document.getElementById('table').innerHTML=s;
return false;
}

var n = 0;

    function addRow() {
        var tbl = document.getElementById('tbl');
        var row = document.createElement('<tr><input type="text">');
        var cell = document.createElement('<td>');
        
        cell.innerHTML = ++n + 'th row';
        row.appendChild(cell);
        tbl.appendChild(row);
    }
</SCRIPT>
<table cellspacing=0 border=1>
    <tr id=tbl>
        
    </tr>
</table>
</HEAD>
<div class="divContent"> 
        <TABLE width="536" border="0" cellspacing="1" cellpadding="0">
          <TR> 
            <TD class="divTD" width="129"> 
              <DIV align="right">Грузополучатель</DIV>
            </TD>
            <TD class="divTD" colspan="3"> 
              <SELECT name="select3" class="inputFull" >
                <OPTION selected>-- Добавить --</OPTION>
              </SELECT>
            </TD>
          </TR>
          <TR> 
            <TD class="divTD" width="129"> 
              <DIV align="right"></DIV>
            </TD>
            <TD class="divTD" colspan="3"> 
              <INPUT type="text" name="textfield" class="inputFull" >
            </TD>
          </TR>
          <TR> 
            <TD class="divTD" width="129"> 
              <DIV align="right">Адрес:</DIV>
            </TD>
            <TD class="divTD" colspan="3"> 
              <INPUT type="text" name="textfield2" class="inputFull" >
            </TD>
          </TR>
          <TR> 
            <TD class="divTD" width="129" height="43"> 
              <DIV align="right">Станция назначения:</DIV>
            </TD>
            <TD class="divTD" colspan="3" height="43"> 
              <INPUT type="text" name="textfield3" class="inputFull">
              <DIV align="right"></DIV>
            </TD>
          </TR>
          <TR> 
            <TD class="divTD" width="129"> 
              <DIV align="right">Код получателя:</DIV>
            </TD>
            <TD class="divTD" width="156"> 
              <INPUT type="text" name="textfield32" class="inputFull">
            </TD>
            <TD class="divTD" width="83"> 
              <DIV align="right">ОКПО:</DIV>
            </TD>
            <TD class="divTD" width="163"> 
              <INPUT type="text" name="textfield33" class="inputFull">
            </TD>
          </TR>
          <TR> 
            <TD class="divTD" width="129"> 
              <DIV align="right">Количество строк:</DIV>
            </TD>
            <TD class="divTD" colspan="3"> 
              <INPUT type="text" name="textfield326" class="form35" value="10">
              <INPUT type="submit" name="Submit2" onclick="return addline()" value="применить" class="button">
            </TD>
          </TR>
          <TR> 
            <TD class="divTD" width="129">&nbsp;</TD>
            <TD class="divTD" width="156">&nbsp;</TD>
            <TD class="divTD" width="83">&nbsp;</TD>
            <TD class="divTD" width="163">&nbsp;</TD>
          </TR>
        </TABLE>
<div class="divTable">
        <TABLE width="100%" border="0" cellspacing="1" cellpadding="0">
          <TR bgcolor="#CCCCCC">
            <TD class="divTD" width="17%"><SPAN class="headTable">Наименование</SPAN></TD>
              <TD class="divTD" width="12%"><SPAN class="headTable">ГОСТ, ТУ</SPAN></TD>
              <TD class="divTD" width="14%"><SPAN class="headTable">Марка Стали</SPAN></TD>
              <TD class="divTD" width="12%"><SPAN class="headTable">Размер</SPAN></TD>
              <TD class="divTD" width="14%"><SPAN class="headTable">Объём, тонн</SPAN></TD>
              <TD class="divTD" width="14%"><SPAN class="headTable">Характеристики</SPAN></TD>
            <TD class="divTD" width="17%"><SPAN class="headTable">Примечание</SPAN></TD>
          </TR>
          <TBODY id="table">
          <TR id="newline" nomer="[0]">
            <TD width="17%">
                <INPUT type="text" name="name[0] class="inputFull" >
            </TD>
              <TD width="12%"> 
                <INPUT type="text" name="name[1] class="inputFull">
            </TD>
              <TD width="14%"> 
                <INPUT type="text" name="name[2] class="inputFull">
            </TD>
              <TD width="12%"> 
                <INPUT type="text" name="name[3] class="inputFull">
            </TD>
              <TD width="14%"> 
                <INPUT type="text" name="name[4] class="inputFull">
            </TD>
              <TD width="14%"> 
                <INPUT type="text" name="name[5] class="inputFull">
            </TD>
            <TD width="17%">
                <INPUT type="text" name="name[6] class="inputFull">
            </TD>
          </TR>
          </TBODY>
   </TABLE>
          <P align="right">
            <input type="submit" name="Submit3" value="Напечатать" class="buttonBig">
            <INPUT type="submit" name="Submit" value="Отправить заявку" class="buttonBig">
          </P>
</div>
</HTML>

   

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

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

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