This commit is contained in:
Developer
2026-06-29 12:18:55 +08:00
3 changed files with 14 additions and 24 deletions

View File

@@ -117,3 +117,13 @@
@apply fixed inset-y-0 right-0 z-50 flex w-full max-w-md flex-col bg-white shadow-xl transition-transform;
}
}
/* Disable input number spinners (up/down arrows) */
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
input[type=number] {
-moz-appearance: textfield;
}

View File

@@ -67,11 +67,11 @@
<div class="grid grid-cols-2 gap-3">
<div>
<label class="form-label">Latitude</label>
<input name="lat" id="dop-lat" type="number" step="0.000001" required class="form-input" placeholder="14.6539">
<input name="lat" id="dop-lat" type="number" step="0.000001" required class="form-input bg-neutral-100 cursor-not-allowed" placeholder="14.6539" readonly>
</div>
<div>
<label class="form-label">Longitude</label>
<input name="lng" id="dop-lng" type="number" step="0.000001" required class="form-input" placeholder="121.0685">
<input name="lng" id="dop-lng" type="number" step="0.000001" required class="form-input bg-neutral-100 cursor-not-allowed" placeholder="121.0685" readonly>
</div>
</div>
<div class="space-y-1">
@@ -191,17 +191,7 @@
lngInput.value = e.latlng.lng.toFixed(6);
});
const syncFromInputs = () => {
const lat = parseFloat(latInput.value);
const lng = parseFloat(lngInput.value);
if (!isNaN(lat) && !isNaN(lng)) {
marker.setLatLng([lat, lng]);
map.panTo([lat, lng]);
}
};
latInput.addEventListener('input', syncFromInputs);
lngInput.addEventListener('input', syncFromInputs);
// Setup geocoding search
const searchInput = document.getElementById('dop-search');

View File

@@ -46,8 +46,8 @@
<div><label class="form-label">Code</label><input name="code" required class="form-input" placeholder="DS-..."></div>
<div><label class="form-label">Address</label><input name="address_line" required class="form-input"></div>
<div class="grid grid-cols-2 gap-3">
<div><label class="form-label">Latitude</label><input name="lat" id="ds-lat" type="number" step="0.000001" required class="form-input"></div>
<div><label class="form-label">Longitude</label><input name="lng" id="ds-lng" type="number" step="0.000001" required class="form-input"></div>
<div><label class="form-label">Latitude</label><input name="lat" id="ds-lat" type="number" step="0.000001" required class="form-input bg-neutral-100 cursor-not-allowed" readonly></div>
<div><label class="form-label">Longitude</label><input name="lng" id="ds-lng" type="number" step="0.000001" required class="form-input bg-neutral-100 cursor-not-allowed" readonly></div>
</div>
<div class="space-y-1">
<label class="form-label text-neutral-700">Search Address / Place</label>
@@ -184,17 +184,7 @@
lngInput.value = e.latlng.lng.toFixed(6);
});
const syncFromInputs = () => {
const lat = parseFloat(latInput.value);
const lng = parseFloat(lngInput.value);
if (!isNaN(lat) && !isNaN(lng)) {
marker.setLatLng([lat, lng]);
map.panTo([lat, lng]);
}
};
latInput.addEventListener('input', syncFromInputs);
lngInput.addEventListener('input', syncFromInputs);
// Setup geocoding search
const searchInput = document.getElementById('ds-search');