fix(ui): toggle required on hidden fields to prevent browser validation error

This commit is contained in:
2026-07-05 20:21:57 +08:00
parent 08035e3447
commit 282763e7d8

View File

@@ -28,9 +28,9 @@
<div id="fields-received" style="display:none">
<label>发件人 *</label>
<input type="text" name="sender_name" value="{{ postcard.sender_name if postcard else '' }}" required>
<input type="text" name="sender_name" id="input-sender" value="{{ postcard.sender_name if postcard else '' }}">
<label>收到时间 *</label>
<input type="date" name="receive_time" value="{{ postcard.receive_time.strftime('%Y-%m-%d') if postcard and postcard.receive_time else '' }}" required>
<input type="date" name="receive_time" id="input-receive" value="{{ postcard.receive_time.strftime('%Y-%m-%d') if postcard and postcard.receive_time else '' }}">
</div>
<div class="form-actions">
@@ -45,13 +45,19 @@ function toggleFields() {
var rc = document.getElementById('fields-received');
var arrival = document.getElementById('input-arrival');
var labelArrival = document.getElementById('label-arrival');
var sender = document.getElementById('input-sender');
var receive = document.getElementById('input-receive');
if (s === 'received') {
sd.style.display = 'none';
rc.style.display = '';
sender.required = true;
receive.required = true;
arrival.required = false;
} else {
sd.style.display = '';
rc.style.display = 'none';
sender.required = false;
receive.required = false;
if (s === 'delivered') {
arrival.required = true;
labelArrival.textContent = '到达时间 *';