2013-09-19 2 views
0

Я создаю форму электронной почты PHP, эта форма при отправке отправит электронное письмо со ссылкой на файл CSV на сервере с представленной информацией. Я на полпути через форму, когда я ударил бит блока.PHP-форма с несколькими

Клиент хочет иметь кнопку «Добавить строку», чтобы добавить дополнительные строки в один раздел формы. Было бы хорошо, если бы эта кнопка добавления строки добавила только одно окно ввода, но «Add Row» по сути добавляет раздел текстовых полей. В этом разделе есть 5 текстовых полей. Я действительно не уверен, как этого добиться!

Это HTML:

<tr> 
    <td><textarea name="examtype" id="examtype"><?php echo $_SESSION['examType']; ?></textarea></td> 
    <td><textarea name="examdate" id="examdate"><?php echo $_SESSION['examDate']; ?></textarea></td> 
    <td><textarea name="examsubject" id="examsubject"><?php echo $_SESSION['examSubject']; ?></textarea></td> 
    <td><textarea name="examgrade" id="examgrade"><?php echo $_SESSION['examGrade']; ?></textarea></td> 
</tr> 

Тогда я просто назначая переменные сессии для всех. Не знаю, как я подхожу к этому ...

Заранее спасибо!

+0

[Это] (HTTP: //stackoverflow.com/questions/171027/add-table-row-in-jquery) может помочь вам. – SeanWM

+0

Где кнопка добавления строки? Где JavaScript, который вы используете для добавления строки? –

ответ

0

Я предполагаю, что вы используете jquery, если не рекомендую его, поэтому следующий код работает правильно.

Это НЕ ПРОВЕРЕНО, но решение вашей проблемы должно выглядеть следующим образом:

<script> 

var additional_rows = 0; 

$(document).ready(function(){ 
    $('#button_add').click(function() { 
     additional_rows = additional_rows + 1; 
     $('#add_rows').val(additional_rows); 

     $('#myTable').append('<td><textarea name="examtype_' + additional_rows + '" id="examtype_' + additional_rows + '"></textarea></td> 
           <td><textarea name="examdate_' + additional_rows + '" id="examdate_' + additional_rows + '"></textarea></td> 
           <td><textarea name="examsubject_' + additional_rows + '" id="examsubject_' + additional_rows + '"></textarea></td> 
           <td><textarea name="examgrade_' + additional_rows + '" id="examgrade_' + additional_rows + '"></textarea></td>'); 
    }); 
}); 
</script> 

<form action='#' method="post"> 
    <input name="add_rows" id="add_rows" type="hidden" value="0" /> 
    <table id="myTable"> 
     <tr> 
      <td><textarea name="examtype_0" id="examtype_0"><?php echo $_SESSION['examType']; ?></textarea></td> 
      <td><textarea name="examdate_0" id="examdate_0"><?php echo $_SESSION['examDate']; ?></textarea></td> 
      <td><textarea name="examsubject_0" id="examsubject_0"><?php echo $_SESSION['examSubject']; ?></textarea></td> 
      <td><textarea name="examgradev_0" id="examgrade_0"><?php echo $_SESSION['examGrade']; ?></textarea></td> 
     </tr> 
    </table> 
    <button type="submit">Submit</button> 
    <button id="button_add">Add Row</button> 
</form> 

Не забудьте перечислить/заменить сгенерированные прокручиваемые имена & идентификаторов

+0

Привет, это отлично подходит для добавления новых строк. Это спасло меня от этого. Однако я думаю, что основная проблема, которую я хочу иметь, - это использовать PHP для захвата информации в зависимости от того, сколько строк добавляет пользователь. Может быть 2 и может быть 200 ... – kala233

+0

Затем подсчитайте количество добавленных строк и поместите значение в скрытый ввод, чтобы он был отправлен с формой, и вы можете получить сумму через PHP $ _POST, я отредактировал пример кода (все еще не протестирован) –

+0

Большое спасибо, я попробую! – kala233

Смежные вопросы