[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Обработка java script
cmdhitman
Здравствуйте - помогите пожалуйста - а то я голову уже сломал smile.gif
Есть форма, в которую нужно вводить данные а затем обрабатывать - прогблема в том , что данные формы динамические . Что мы имеем
1) Сама форма
HTML
<form action=script.php METHOD=POST><span id="table">
<table >
<th colspan="2">Angaben zu Kinder</th>
<tr><td>Anrede</td><td>Name</td><td>Vorname</td>
<td>Geb. Datum</td>

<td>

<a href="#" onclick="return addline();">weitere</a></td></tr>
<tr id="newline" nomer="[0]">
<td><SELECT name="date[1]"><OPTION value="Herr">Herr</OPTION>
<OPTION value="Frau">Frau</OPTION>
</SELECT></td>
<td><input type="text" name="name[0]"></td><td><input type="text" name="date[0]"></td>
<td><input type="text" name="date[0]"></td>


<td valign="top"><a href="#" onclick="return rmline(0);">delete</td></tr></table>
</span></form>


А вот скрипт, который придаёт динамичность
HTML
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;
}

При обращении через <?php print $_POST['name[0]']; ?> Ничего не отображается

Как обработать данные этой формы ? И как динамически добавлять таблицу если значепний будет больше? Заранее спасибо (надеюсь на помощь )
Быстрый ответ:

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