在 onKeyup AJAX 调用第一次不起作用或按回键时

In onKeyup AJAX call not working first time or back pressing

本文关键字:不起作用 onKeyup AJAX 调用 第一次      更新时间:2023-09-26
var d=0;
    function checkhrsforDate(){
        var date=$('#approveapplieddate').val();
        $.ajax({
            url: "datelogic.php",
            type: "post",
            data:'date='+date,
            cache: false,
            success:function(htmlData){
                if(htmlData=='')
                {
                    d=0;
                }
                else{
                    d=htmlData;
                }
                return d;
            }
        });
    }
    $(document).ready(function(){
        $("#approveappliedhrs").onkeyup(function (e) {
                var approvedate=$('#approvedate').val();
                var approveapplieddate=$('#approveapplieddate').val();
                appliedhrs=$("#appliedhrs").val();
                hrs=parseInt($(this).val());
                if($(this).val().length==1){
                    checkhrsforDate();
            }
        });
    });

第一次显示d值为0,下次按键它正在工作 好。但是我的文本框只允许一个值。是否可以在键控事件中调用 AJAX 调用

onkeyup 是一个 JavaScript 事件,

校正

function checkhrsforDate(){
var d = 0;
var date = $('#approveapplieddate').val();
$.ajax({
    url: "datelogic.php",
    type: "post",
    data:{date: date},
    cache: false,
    success:function(htmlData){
        if(htmlData=='')
        {
            d = 0;
        }
        else{
            d = htmlData;
        }
        return d;
    }
});
}
$("#approveappliedhrs").keyup(function(e) {
var approvedate = $('#approvedate').val();
var approveapplieddate = $('#approveapplieddate').val();
appliedhrs = $("#appliedhrs").val();
hrs = parseInt($(this).val());
if ($(this).val().length == 1) {
    checkhrsforDate();
}
});

d 的值将取决于您返回的内容。如果是 json 字符串,那么您可以像 if(htmlData=='') 一样检查。

为了获得更好的答案,请粘贴您的ajax回复