feat(ui): arrival time only required when status is delivered, not sent
This commit is contained in:
@@ -17,20 +17,20 @@
|
|||||||
|
|
||||||
<div id="fields-sent-delivered">
|
<div id="fields-sent-delivered">
|
||||||
<label>收件人 *</label>
|
<label>收件人 *</label>
|
||||||
<input type="text" name="recipient_name" value="{{ postcard.recipient_name if postcard else '' }}" required data-group="sent-delivered">
|
<input type="text" name="recipient_name" value="{{ postcard.recipient_name if postcard else '' }}" required>
|
||||||
<label>国家/地区 *</label>
|
<label>国家/地区 *</label>
|
||||||
<input type="text" name="country" value="{{ postcard.country if postcard else '' }}" required maxlength="2" placeholder="JP" style="width:80px;text-transform:uppercase" data-group="sent-delivered">
|
<input type="text" name="country" value="{{ postcard.country if postcard else '' }}" required maxlength="2" placeholder="JP" style="width:80px;text-transform:uppercase">
|
||||||
<label>寄出时间</label>
|
<label>寄出时间 *</label>
|
||||||
<input type="date" name="send_time" value="{{ postcard.send_time.strftime('%Y-%m-%d') if postcard and postcard.send_time else '' }}" data-group="sent-delivered">
|
<input type="date" name="send_time" value="{{ postcard.send_time.strftime('%Y-%m-%d') if postcard and postcard.send_time else '' }}" required>
|
||||||
<label>到达时间</label>
|
<label id="label-arrival">到达时间</label>
|
||||||
<input type="date" name="arrival_time" value="{{ postcard.arrival_time.strftime('%Y-%m-%d') if postcard and postcard.arrival_time else '' }}" data-group="sent-delivered">
|
<input type="date" name="arrival_time" id="input-arrival" value="{{ postcard.arrival_time.strftime('%Y-%m-%d') if postcard and postcard.arrival_time else '' }}">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="fields-received" style="display:none">
|
<div id="fields-received" style="display:none">
|
||||||
<label>发件人 *</label>
|
<label>发件人 *</label>
|
||||||
<input type="text" name="sender_name" value="{{ postcard.sender_name if postcard else '' }}" required data-group="received">
|
<input type="text" name="sender_name" value="{{ postcard.sender_name if postcard else '' }}" required>
|
||||||
<label>收到时间</label>
|
<label>收到时间 *</label>
|
||||||
<input type="date" name="receive_time" value="{{ postcard.receive_time.strftime('%Y-%m-%d') if postcard and postcard.receive_time else '' }}" data-group="received">
|
<input type="date" name="receive_time" value="{{ postcard.receive_time.strftime('%Y-%m-%d') if postcard and postcard.receive_time else '' }}" required>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-actions">
|
<div class="form-actions">
|
||||||
@@ -43,16 +43,23 @@ function toggleFields() {
|
|||||||
var s = document.getElementById('status-select').value;
|
var s = document.getElementById('status-select').value;
|
||||||
var sd = document.getElementById('fields-sent-delivered');
|
var sd = document.getElementById('fields-sent-delivered');
|
||||||
var rc = document.getElementById('fields-received');
|
var rc = document.getElementById('fields-received');
|
||||||
var isSent = (s !== 'received');
|
var arrival = document.getElementById('input-arrival');
|
||||||
sd.style.display = isSent ? '' : 'none';
|
var labelArrival = document.getElementById('label-arrival');
|
||||||
rc.style.display = isSent ? 'none' : '';
|
if (s === 'received') {
|
||||||
// toggle required on hidden fields
|
sd.style.display = 'none';
|
||||||
sd.querySelectorAll('[data-group="sent-delivered"]').forEach(function(el) {
|
rc.style.display = '';
|
||||||
el.required = isSent;
|
arrival.required = false;
|
||||||
});
|
} else {
|
||||||
rc.querySelectorAll('[data-group="received"]').forEach(function(el) {
|
sd.style.display = '';
|
||||||
el.required = !isSent;
|
rc.style.display = 'none';
|
||||||
});
|
if (s === 'delivered') {
|
||||||
|
arrival.required = true;
|
||||||
|
labelArrival.textContent = '到达时间 *';
|
||||||
|
} else {
|
||||||
|
arrival.required = false;
|
||||||
|
labelArrival.textContent = '到达时间';
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
toggleFields();
|
toggleFields();
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user