【发布时间】:2020-11-03 21:30:59
【问题描述】:
我希望用户在输入发票号码并按 Enter 系统检查数据库中是否此输入值已存在或未使用 ajax 并且如果该值存在则必须更改输入类
这是我的刀片代码:
<div class="form-group">
<label class="col-form-label" for="inputWarning"><i class="far fa-bell"></i> Input with
warning</label>
<input type="text" class="form-control is-warning" id="invoice_number" name="invoice_number" placeholder="Enter ...">
</div>
这是我的 Ajax 代码:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
$("#invoice_number").keyup(function (e) {
if (e.keyCode == 13) {
var inv_no = $(this).val();
$.ajax({
type: "GET",
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
url: "{{url('checkInvoice')}}",
data: {// change data to this object
_token : $('meta[name="csrf-token"]').attr('content'),
invoice_number:inv_no
},
dataType: "json",
success: function(res) {
if(res.exists){
alert('true');
$(this).removeClass('form-control is-warning').addClass('form-control is-valid');
}else{
alert('false');
$(this).removeClass('form-control is-warning').addClass('form-control is-invalid');
}
},
error: function (jqXHR, exception) {
}
});
}
});
</script>
【问题讨论】:
-
代码失败的具体原因是什么?浏览器的调试控制台有错误吗? (你知道如何找到浏览器的调试工具吗?)在调试工具网络选项卡中,是否发出了 AJAX 请求?服务器的响应是什么?
-
不,没有错误,也没有发生任何事情输入外观不会改变只有警报动作触发