#javascript #php #loops #html-table #field
#javascript #php #циклы #html-таблица #поле
Вопрос:
У меня есть такая таблица:
<tr class="product">
<td><input class ="parts" id="tf1" type="text" style="width:327px"/></td>
<td><input class ="parts" id="tf2" type="text" style="width:51px";"/></td>
<td><input class ="parts" id="tf3" type="text" style="width:144px";"/></td>
<td><input class ="parts" id="tf4" type="text" style="width:64px";"/></td>
<td><input class ="parts" id="tf5" type="text" style="width:81px";"/></td>
<td><input class ="parts" id="tf6" type="text" style="width:12px";"/></td>
<td><input class ="parts" id="tf7" type="text" style="width:21px";"/></td>
<td><input class ="parts" id="tf8" type="text" style="width:22px";"/></td>
<td><input class ="parts" id="tf9" type="text" style="width:22px";"/></td>
<td><input class ="parts" id="tf10" type="text" style="width:60px";"/></td>
<td><input class ="parts" id="tf11" type="text" style="width:35px";"/></td>
<td><input class ="parts" id="tf12" type="text" style="width:41px";"/></td>
<td><input class ="parts" id="tf13" type="text" style="width:50px";"/></td>
<td><input class ="parts" id="tf14" type="text" style="width:44px";"/></td>
<td><input type="button" class="addRow" value="Add"/></td>
<td><input type="button" class="delRow" value="Delete"/></td>
</tr>
Я хочу выполнить итерацию по каждому полю строки таблицы, отметить результат и отправить его с помощью php mail на адрес электронной почты. Я думаю, что это довольно просто, но это почему-то не работает.
Я пробовал с помощью этой функции:
function fill(){
var value = $find.("tr.product.input.parts").html();
return value;
}
Комментарии:
1. как вы собираетесь отправлять / обрабатывать эту информацию? вы хотите использовать только js? или вы хотите использовать php?
2. Я думал поместить переменную в невидимое текстовое поле, а затем с помощью метода POST отправить ее на php, а затем отформатировать и отправить по электронной почте…
3. Метод html() получает только первый элемент. Итерация не выполняется. Вы можете использовать для каждого.
Ответ №1:
Предполагая, что ваши кнопки addRow и delRow работают, поскольку вы ничего не упомянули об этом:
Вместо этого измените имя ввода на array. поэтому вместо
<td><input class ="parts" id="tf1" type="text" style="width:327px"/></td>
<td><input class ="parts" id="tf2" type="text" style="width:51px"/></td>
<td><input class ="parts" id="tf3" type="text" style="width:144px"/></td>
Вы должны использовать
<td><input class ="parts" id="tf1" name="tf[]" type="text" style="width:327px"/></td>
<td><input class ="parts" id="tf2" name="tf[]" type="text" style="width:51px"/></td>
<td><input class ="parts" id="tf3" name="tf[]" type="text" style="width:144px"/></td>
При обработке с помощью PHP все значения будут в $ _POST [‘tf’] в форме массива, начиная с индекса 0. С помощью этого вы можете перебирать и обрабатывать его и отправлять по электронной почте.
В любом случае, мне интересно, почему ваши текстовые поля имеют разную ширину, а style =»width:327px»;» неправильная разметка.
Комментарии:
1. Итак, я должен использовать id в качестве массива? И да, мои кнопки добавления и удаления работают. И я использую разную ширину, потому что мне нужны поля разных размеров. И —;»— ошибка, удалена…
2. Постобработку проще выполнить, поскольку нет фиксированного количества входных данных.