在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); }