Я видел несколько разных примеров доступа к $ (this) - это обратный вызов успеха ajax, но никто не дает мне ответа, который я хочу - все они получают доступ к $ (this) это) в функции ajax, я хочу передать $ (this) в отдельную функцию.
Так что, если есть 2 Textboxes, которые должны быть проверены
$("#tb1").focusout(function(){
$.ajax({
type:'POST',
url: 'validURL',
data: {various_parameters},
contentType: 'application/json; charset=utf-8',
dataType:'json',
success: function(data){
validInput(data, $(this));
},
error: error
});
}
$("#tb2").focusout(function(){
$.ajax({
type:'POST',
url: 'validURL',
data: {various_parameters},
contentType: 'application/json; charset=utf-8',
dataType:'json',
success: function(data){
validInput(data, $(this));
},
error: error
});
}
function validInput(response, obj){
console.log(response.d);
console.log(obj.val());
};
Когда я запускаю код, я получаю правильное значение для response.d но ошибки: JQuery-1.11.1.min.js: 4 Uncaught TypeError: Невозможно прочитать свойство 'toLowerCase' неопределенного для obj.val().
Я что-то не так?
Спасибо за любую помощь. См .: Dos/Run
Спасибо за вашу помощь @Hazonko - это вопрос с $ (это) является «относительная» проблема только при использовании ajax или это когда-нибудь $ (this) передано? – SeeDosRun
Если у вас есть вложенные функции, это будет относиться к самой внутренней функции – madalinivascu