Fügen Sie in PHP MySQL Standard-POST-Werte zu dynamisch erstellten Eingabezeilenfeldern hinzu.
P粉409742142
2023-07-30 10:10:35
<p>Ich entwickle ein kleines HTML-Formular, das in eine Tabelle integriert ist. Die Tabelle verfügt über ein Eingabefeld namens „Name“, das als Standardwert das aktuelle Datum anzeigt. Das funktioniert hervorragend für die erste Reihe. Wenn ich jedoch dynamisch weitere Zeilen hinzufüge, zeigen die neuen Eingabefelder nicht den Standarddatumswert an. Hier ist mein aktuelles Code-Setup: </p>
<pre class="brush:html;toolbar:false;"><html>
<Körper>
<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()">Element hinzufügen</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">
// Skript zum Hinzufügen dynamischer Zeilen in der Tabelle
Funktion 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);
}
Funktion BtnDel(v) {
$(v).parent().parent().remove();
$("#TBody").find("tr").each(function(index) {
$(this).find("th").first().html(index);
});
}
</script>
</body>
</html>
</pre>
<p>Ich benötige eine Anleitung, wie ich dafür sorgen kann, dass diese dynamisch erstellten Felder auch das aktuelle Datum als Standardwert anzeigen. Vielen Dank für Ihre Hilfe bei meinem Studienprojekt. </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); }