我试图找出解决这个问题的最佳方法..我需要能够使用JS将输入字段附加到表行,以便可以使用相同的表单输入多个项目,但我需要以某种方式制作每个输入都有一个用PHP定位的唯一名称。从那里我需要在每个插入到mySQL数据库中运行一个插入语句..我有点难过这里
=============================================== =======================
<form action="" method="post" id="myForm">
<table class="addTable">
<tr>
<th>Title</th>
<th>Type</th>
<th>Quantity</th>
<th>Customer Price</th>
</tr>
<tr>
<td>
<input type="text" name="name" placeholder="Title" maxlength="60" value="<?php echo $_POST['name']; ?>">
</td>
<td>
<input type="text" name="type" placeholder="Type" maxlength="20" value="<?php echo $_POST['type']; ?>">
</td>
<td>
<input type="number" name="qty" placeholder="QTY" max="100" value="<?php echo $_POST['qty']; ?>">
</td>
<td>
<input type="text" name="price" placeholder="Price" value="<?php echo $_POST['price']; ?>">
</td>
</tr>
</table>
</form>
答案 0 :(得分:0)
您可以使用数组作为名称,例如:
<form action="" method="post" id="myForm">
<table class="addTable">
<tr>
<th>Title</th>
<th>Type</th>
<th>Quantity</th>
<th>Customer Price</th>
</tr>
<tr>
<td>
<input type="text" name="name[]" placeholder="Title" maxlength="60" value="<?php echo $_POST['name']; ?>">
</td>
<td>
<input type="text" name="type[]" placeholder="Type" maxlength="20" value="<?php echo $_POST['type']; ?>">
</td>
<td>
<input type="number" name="qty[]" placeholder="QTY" max="100" value="<?php echo $_POST['qty']; ?>">
</td>
<td>
<input type="text" name="price[]" placeholder="Price" value="<?php echo $_POST['price']; ?>">
</td>
</tr>
</table>
</form>
然后你可以使用类似的东西:
<?php
for($i = 0; $i < count($_POST['name']; $i++) {
$name = $_POST['name'][$i];
$type = $_POST['type'][$i];
$qty = $_POST['qty'][$i];
$price = $_POST['price'][$i];
// make your query here
}
另外一个小建议:在你的html代码中不要直接回显$ _POST值,首先检查它们是否存在,e。 G。 <?= isset($_POST['price'])?$_POST['price']:""?>
<?=
是<?php echo
isset($_POST['price'])?$_POST['price']:""
部分是if-else
声明的快捷方式。 (它被称为ternary operator)
这意味着与此相同:
if(isset($_POST['price'])) {
echo $_POST['price'];
} else {
echo "";
}
isset()
本身检查变量(或本例中的数组键)是否存在。
编辑:更新了有关附加的信息
如果你可以使用jQuery,那很简单。如果您不使用它,请开始使用它:)
<script>
$(document).ready(function() {
$('.some-class-of-your-button').click(function() {
$('.addTable').append($('.addTable tr:nth-child(2)').clone());
$('.addTable tr:last-child input').val("");
});
});
</script>
将some-class-of-your-button
替换为您的按钮所具有的类。该按钮必须位于表格之外才能使用。