完成ajax调用后重置变量

时间:2017-08-31 11:24:39

标签: javascript ajax laravel model-view-controller

我正在调用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;
                }                
            });

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

2 个答案:

答案 0 :(得分:0)

你可以在成功处理程序中完成。首先,您必须设置一个变量,其引用为$(this),如下所示

var elm = $(this);

然后你可以在成功回调中引用它。

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

答案 1 :(得分:0)

根据您的评论:

  

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

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

var data = 'regno='+ regno;
var element = this;
$.ajax({
    //...
});

然后你可以在回调函数中使用element变量来设置该元素的值:

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