2 回答
TA贡献1848条经验 获得超6个赞
对于简单的方法,我建议您使用 jQuery 的 Ajax,这样您就不必进行太多更改,添加一条 API 路由、检查数据库中的数据和几行 JavaScript 代码。您可以尝试以下方法:
控制器:
use Your\Namespace\Path\Of\Model Model
Class ABC {
...
public function checkExist(){
$data = request()->get('data'); // get data to check
$model = new Model();
$where = ['id' => $data]; // passing your where condition to check
return $model->where($where)->get()->count() > 0;
}
}
路由文件(web.php/api.php):
路线::get('checkExist', 'ABC@checkExist');
看法
<form action"/send" method="post">
<div id="info1">
<!-- info about first item -->
</div>
<div id="info2">
<!-- info about second item -->
</div>
<div id="info_default">
<!-- if customised item is chosen, show this one -->
</div>
<div id="info_does_not_exist">
<!-- if cannot find the input item in database, show this one -->
</div>
<button type="submit">submit</button>
</form>
...
<script>
$(function(){
// every time input change, check value existence in database
$('.info2 input').change(function(){
let input_value = $(this).val();
$.ajax({
url: "{{ route('checkExist') }}",
method: "GET",
data: {"id": input_value},
success: function(response){
// process if/else to show div '.info_default' / '.info_does_not_exist'
if (response) {
// show '.info_default' and hide '.info_does_not_exist'
} else {
// show '.info_does_not_exist' and hide '.info_default'
}
}
});
})
})
</script>
这不是实际的可运行代码,只是一个想法,根据此,您可以根据您的进一步愿望进行调整。希望这会有所帮助
TA贡献1878条经验 获得超4个赞
您必须使用 AJAX 之类的工具来检查数据库中的用户输入值,然后做出正确的决定,不显示任何内容,直到添加或显示数据库中的内容。
因此工作流程如下:用户输入 => ajax 接受用户输入并提交给控制器函数以检查数据库中的值是否存在 => 根据此控制器函数返回的值 => 向用户显示正确的值
- 2 回答
- 0 关注
- 127 浏览
添加回答
举报