65 lines
2.0 KiB
JavaScript
65 lines
2.0 KiB
JavaScript
document.addEventListener('DOMContentLoaded', function() {
|
|
const searchButton = document.getElementById('searchButton');
|
|
const licensePlateInput = document.getElementById('licensePlate');
|
|
const errorMessage = document.getElementById('errorMessage');
|
|
|
|
// 从JSON文件获取车辆数据库
|
|
let carDatabase = [];
|
|
let isDataLoaded = false;
|
|
|
|
// 加载车辆数据
|
|
fetch('js/cars.json')
|
|
.then(response => response.json())
|
|
.then(data => {
|
|
carDatabase = data;
|
|
isDataLoaded = true;
|
|
})
|
|
.catch(error => {
|
|
console.error('加载车辆数据失败:', error);
|
|
showError('无法加载车辆数据库');
|
|
});
|
|
|
|
searchButton.addEventListener('click', function() {
|
|
const plate = licensePlateInput.value.trim();
|
|
|
|
if (!plate) {
|
|
showError('请输入车牌号码');
|
|
return;
|
|
}
|
|
|
|
// 检查数据是否已加载
|
|
if (!isDataLoaded) {
|
|
showError('数据加载中,请稍后再试...');
|
|
return;
|
|
}
|
|
|
|
// 在数据库中查找车牌(支持模糊匹配)
|
|
const carInfo = carDatabase.find(car => car.plate.includes(plate));
|
|
|
|
if (carInfo) {
|
|
// 将车辆信息存储到 sessionStorage
|
|
sessionStorage.setItem('carInfo', JSON.stringify(carInfo));
|
|
// 跳转到结果页面
|
|
window.location.href = 'result.html';
|
|
} else {
|
|
showError('没有找到该车牌号码对应的车主信息');
|
|
}
|
|
});
|
|
|
|
// 回车键触发搜索
|
|
licensePlateInput.addEventListener('keypress', function(e) {
|
|
if (e.key === 'Enter') {
|
|
searchButton.click();
|
|
}
|
|
});
|
|
|
|
function showError(message) {
|
|
errorMessage.textContent = message;
|
|
errorMessage.style.display = 'block';
|
|
|
|
// 3秒后隐藏错误信息
|
|
setTimeout(() => {
|
|
errorMessage.style.display = 'none';
|
|
}, 3000);
|
|
}
|
|
}); |