在PHP MySQL中,将默认的POST值添加到动态创建的输入行字段中。
P粉409742142
2023-07-30 10:10:35
<p>我正在开发一个与表格集成的小型HTML表单。表格中有一个名为"name"的输入字段,它将当前日期作为默认值显示出来。这对于第一行来说效果很好。然而,当我动态添加更多行时,新的输入字段不会显示默认的日期值。以下是我的当前代码设置:</p>
<pre class="brush:html;toolbar:false;"><html>
<body>
<table class="table table-bordered">
<thead class="table-success" style="background-color: #3fbbc0;">
<tr>
<th width="15%"><center>Service</th>
<th width="5%"></th>
<th>
<button type="button" class="btn btn-sm btn-success" onclick="BtnAdd()">Add Item</button>
</th>
</tr>
</thead>
<tbody id="TBody">
<tr id="TRow" class="d-none">
<td><input type="text" name="name[]" id="name" value="<?php echo date("Y-m-d"); ?>"></td>
<td class="NoPrint">
<button type="button" class="btn btn-success" style="line-height: 1;" onclick="BtnDel(this)">x</button>
</td>
</tr>
</tbody>
</table>
<script type="text/javascript">
// Script to add dynamic rows in the table
function BtnAdd() {
var v = $("#TRow").clone().appendTo("#TBody");
$(v).find("input").val('');
$(v).find("input").autocomplete({ source: 'backend-script.php' });
$(v).removeClass("d-none");
$(v).find("th").first().html($('#TBody tr').length - 1);
}
function BtnDel(v) {
$(v).parent().parent().remove();
$("#TBody").find("tr").each(function(index) {
$(this).find("th").first().html(index);
});
}
</script>
</body>
</html>
</pre>
<p>我需要一些关于如何使这些动态创建的字段也显示当前日期作为它们的默认值的指导。非常感谢您对我的学习项目提供帮助。</p>
问题似乎是在动态创建新行时,您将输入字段的值设置为空字符串。这就是为什么新行不显示当前日期的原因。
您可以修改BtnAdd()函数,将新输入字段的值设置为当前日期。您可以在JavaScript中这样获取当前日期:
new Date().toISOString().split('T')[0]
.Take a look:
function BtnAdd() { /*Add Button*/ var v = $("#TRow").clone().appendTo("#TBody") ; var currentDate = new Date().toISOString().split('T')[0]; // Get the current date $(v).find("input").val(currentDate); // Set the value of the new input field to the current date $(v).find("input").autocomplete({ source: 'backend-script.php' }); $(v).removeClass("d-none"); $(v).find("th").first().html($('#TBody tr').length - 1); }