【发布时间】:2020-12-21 13:39:50
【问题描述】:
我有一个允许添加、编辑和删除行的表格。
我想将所有行发送到电子邮件,但只发送最后一行。
使用不同的代码进行测试,但没有成功。
表格的 HTML 代码。
encomenda.html
<table class="table table-bordered">
<thead>
<tr>
<th>Produto</th>
<th>Referência</th>
<th>Quantidade</th>
<th>Preço (€)</th>
<th>Ações</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="text" class="form-control" for="produto" name="produto[item1]" id="produto" placeholder="Exemplo*" ></td>
<td><input type="text" class="form-control" for="referencia" name="referencia[item2]" id="referencia" placeholder="#00000"></td>
<td><input type="number" class="form-control" for="quantidade" name="quantidade[item3]" id="quantidade" placeholder="10*" ></td>
<td><input type="number" class="form-control" for="preco" name="preco[item4]" id="preco" placeholder="10.0004"></td>
<td>
<a class="add" title="Add" data-toggle="tooltip"><i class="material-icons"></i></a>
<a class="edit" title="Edit" data-toggle="tooltip"><i class="material-icons"></i></a>
<a class="delete" title="Delete" data-toggle="tooltip"><i class="material-icons"></i></a>
</td>
</tr>
</tbody>
</table>
用于添加、编辑和删除行的脚本代码。
javascript
<script>
$(document).ready(function () {
$('[data-toggle="tooltip"]').tooltip();
var actions = $("table td:last-child").html();
$(".add-new").click(function () {
$(this).attr("disabled", "disabled");
var index = $("table tbody tr:last-child").index();
var row = '<tr>' +
'<td><input type="text" class="form-control" for="produto" name="produto[item1]" id="produto" placeholder="Exemplo*" ></td>' +
'<td><input type="text" class="form-control" for="referencia" name="referencia[item2]" id="referencia" placeholder="#00000"></td>' +
'<td><input type="number" class="form-control" for="quantidade" name="quantidade[item3]" id="quantidade" placeholder="10*" ></td>' +
'<td><input type="number" class="form-control" for="preco" name="preco[item4]" id="preco" placeholder="10.0004"></td>' +
'<td>' + actions + '</td>' +
'</tr>';
$("table").append(row);
$("table tbody tr").eq(index + 1).find(".add, .edit").toggle();
$('[data-toggle="tooltip"]').tooltip();
});
$(document).on("click", ".add", function () {
var empty = false;
var input = $(this).parents("tr").find('input[type="number"]');
var input = $(this).parents("tr").find('input[type="text"]');
input.each(function () {
if (!$(this).val()) {
$(this).addClass("error");
empty = true;
} else {
$(this).removeClass("error");
}
});
$(this).parents("tr").find(".error").first().focus();
if (!empty) {
$(this).parents("tr").find(".add, .edit").toggle();
$(".add-new").removeAttr("disabled");
}
});
$(document).on("click", ".edit", function () {
$(this).parents("tr").find("td:not(:last-child)").each(function () {
$(this).html('<input type="text" class="form-control" value="' + $(this).text() + '">');
});
$(this).parents("tr").find(".add, .edit").toggle();
$(".add-new").attr("disabled", "disabled");
});
$(document).on("click", ".delete", function () {
$(this).parents("tr").remove();
$(".add-new").removeAttr("disabled");
});
});
</script>
将数据发送到电子邮件的 PHP 代码。
email.php
<?php
$item1 = $_POST['produto']['item1'];
$item2 = $_POST['referencia']['item2'];
$item3 = $_POST['quantidade']['item3'];
$item4 = $_POST['preco']['item4'];
$to = "email@email.pt";
$remetente = "email@email.pt";
$boundary = date("d-m-Y");
$headers.= "Form - ";
$headers.= "$boundary\n";
$corpo_mensagem = "
Product: $item1
Ref.: $item2
Qtd: $item3
Price: $item4 €
$mensagem = "--$boundary\n";
$mensagem.= "Content-Transfer-Encoding: 8bits\n";
$mensagem.= "Content-Type: multipart/form-data; boundary=something";
$mensagem.= "$corpo_mensagem\n";
}?>
有人可以帮我吗?
谢谢
【问题讨论】:
标签: php html arrays forms dynamic