Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ajax调用完成后重置变量_Javascript_Ajax_Laravel_Model View Controller - Fatal编程技术网

Javascript ajax调用完成后重置变量

Javascript ajax调用完成后重置变量,javascript,ajax,laravel,model-view-controller,Javascript,Ajax,Laravel,Model View Controller,我调用了一个ajax函数来检查输入的数据 已存在于数据库中。 我的ajax代码是这样的 $(document).on('change','.lawregno',function(){ /// Your validation logic var regno = $(this).val(); if(regno) { var data

我调用了一个ajax函数来检查输入的数据 已存在于数据库中。 我的ajax代码是这样的

 $(document).on('change','.lawregno',function(){
                /// Your validation logic
                var regno = $(this).val();
                if(regno)
                {
                    var data = 'regno='+ regno; // this where i add multiple data using  ' & '
                    $.ajax({
                        type: 'POST',
                        dataType: "json",
                        data: data,
                        url: "{{ URL::to('admin/check_regno_exit') }}",
                        success: function (response) {
                            if(response=="1")
                            {
                                alert('LawRegNo Already Exists');
                                return false;
                            }
                        }
                    });
                }
                else
                {
                    return false;
                }                
            });

显示警报消息后,如何重置数据

您可以在成功处理程序中执行此操作。首先,您必须设置一个引用为
$(this)
的变量,如下所示

var elm = $(this);
然后您可以在成功回调中引用它

success: function (response) {
                            if(response=="1")
                            {
                                alert('LawRegNo Already Exists');
                                elm.val('');
                                return false;
                            }
                        }

根据您的上述评论:

在进行ajax调用后,我想将$(this).val()设置为null

首先,捕获对该的引用,因为它不再在同一范围内。任何变量都可以:

var data = 'regno='+ regno;
var element = this;
$.ajax({
    //...
});
然后,您可以在回调函数中使用该
元素
变量来设置该元素的值:

success: function (response) {
    if(response=="1")
    {
        alert('LawRegNo Already Exists');
        $(element).val('');
    }
}

您试图“重置”哪些数据?“重置”它是什么意思?数据变量在ajax代码中,您可以将变量设置为您想要的任何值。不过,在本例中,这似乎无关紧要,因为该变量已超出范围,并且不再存在。现在还不清楚你到底想在这里完成什么,我想他想在ajax完成后将输入值改为null。在这种情况下,您可以在ajax调用之前将
this
范围保存在另一个名为
self
的变量中,并在ajax调用内部do
$(self).val(“”)
。我想在ajax调用完成后将$(this).val()设置为null。我认为同样可以将jquery包装的
$(this)
作为变量引用。@Niladri:Yes,可以将变量设置为所选的任何值。@David这不起作用,我想在alert msg关闭后清除文本框。@Deb:在问题中显示更新的代码。它以什么方式失败?根据我们对您使用的代码的理解,此示例将“清除文本框”。@Deb:再看一看发布的答案。您更新的代码没有执行建议的操作。您需要捕获对元素的引用,而不是值。不能仅使用值来引用元素。