вывод alert если undefined js

12
manaz
На сайте с 13.12.2013
Offline
61
1075

Приветствую! Пытаюсь реализовать функцию которая отловить ошибку и выведет сообщение.

Получаю в консоли TypeError: ui is undefined

пробую разные функции но они не работают не как:

if(ui == 'undefined'){

alert('error');

};

и

if (typeof ui === 'undefined') {

alert('error');

};

Тоже не работает не чего...

Как же отловить эту ошибку и если она произошла то вывести alert ?

LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#1

А если так:

if(!ui)

{}

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
manaz
На сайте с 13.12.2013
Offline
61
#2
LEOnidUKG:
А если так:

if(!ui)
{}

Нет и так тоже не работает...

вот кусок функции моей что пытаюсь отловить в ней ошибку:



close: function(request,response) {


if(ui.item.id){
var ui;
if(!ui){


alert('error');



}

}

}

if(!ui){ это получается пропускает вообще...

I2
На сайте с 07.03.2015
Offline
38
#3

Попробуйте этим споcобом:

try {

// ваш код

} catch(e) {

// попадем сюда, если произошла ошибка

alert('error');

}

---------------------------

Может вы даже http://prntscr.com/gv471x в это условие не попадаете ?

Качественная верстка PSD макетов (/ru/forum/974524)
manaz
На сайте с 13.12.2013
Offline
61
#4

if(ui.item.id){ как раз и вызывает эту ошибку и после этого я пытаюсь вывести алерт

но try catch(e) тут не помошник, он алерт выводит постоянно есть эта ошибка или нет.

вот:

close: function(request,response) {

try {

if(ui.item.id){

var ui;

if(ui == 'undefined'){

alert('error');

};

}

} catch(e) {

// попадем сюда, если произошла ошибка

alert('error');

}

}

I2
На сайте с 07.03.2015
Offline
38
#5

http://prntscr.com/gv4bsy это уберите

если будет ошибка, то мы попадаем в "catch"

а вообще, если ошибку вызывает

if(ui.item.id){

то почему вы внутри условия делаете проверку?

нужно ведь до этого условия


if(ui == 'undefined'){
return alert('error');
};
if(ui.item.id){
//code
}
manaz
На сайте с 13.12.2013
Offline
61
#6
indenger20:
[ а вообще, если ошибку вызывает
if(ui.item.id){
то почему вы внутри условия делаете проверку?


close: function(request,response) {

if(ui == 'undefined'){
return alert('error');
};
if(ui.item.id){

var ui;

}




}

не реагирует тоже... В консоли ошибка есть TypeError: ui is undefined но алерт не выводится...

Вроде функция ерунда, но не как не могу заставить работать ее...

I2
На сайте с 07.03.2015
Offline
38
#7

А где это ui обьявлено вообще?

скиньте полностью функцию эту

может ui вообще нету, поэтому то и ошибка


close: function(request,response) {
var ui; //добавьте
if(ui == 'undefined'){
return alert('error');
};
if(ui.item.id){

}
manaz
На сайте с 13.12.2013
Offline
61
#8

Вот это выборка id городов. Я пытаюсь сделать если город не выбран то есть если не сделан выбор на функции select: function(event,ui) {} то при закрытии списка а это функция close: function(request,response) {} вывести алер что то типа нужно сделать выбор из того списка. Это города с базы сдэк.


jQuery(\"#city\").autocomplete({



source: function(request,response) {
jQuery.ajax({
url: \"https://api.cdek.ru/city/getListByTerm/jsonp.php?callback=?\",
dataType: \"jsonp\",
data: {


q: function () { return jQuery(\"#city\").val() },
name_startsWith: function () { return jQuery(\"#city\").val() }
},
success: function(data) {


response(jQuery.map(data.geonames, function(item) {
return {
label: item.cityName,
id: item.id,
postCodeArray: item.postCodeArray


}
}));
}
});
},
minLength: 1,



select: function(event,ui) {




jQuery('#receiverCityId').val(ui.item.id);



},

close: function(request,response) {

if( typeof ui === 'undefined' || ui === null || typeof ui === 'defined' ||ui === 'undefined' ){
return alert('error');
}

if(ui.item.id){
var ui;

}




}


});

Оптимизайка
На сайте с 11.03.2012
Offline
396
#9

'undefined' != undefined

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
I2
На сайте с 07.03.2015
Offline
38
#10

я понял, так ui - это не глобальная переменная

мы с метода close не видим ее, так как в методе select это параметр

вы можете создать дополнительную переменную

Пример кода:


var flag = false;
jQuery(\"#city\").autocomplete({



source: function(request,response) {
jQuery.ajax({
url: \"https://api.cdek.ru/city/getListByTerm/jsonp.php?callback=?\",
dataType: \"jsonp\",
data: {


q: function () { return jQuery(\"#city\").val() },
name_startsWith: function () { return jQuery(\"#city\").val() }
},
success: function(data) {
flag = false;
response(jQuery.map(data.geonames, function(item) {
return {
label: item.cityName,
id: item.id,
postCodeArray: item.postCodeArray


}
}));
}
});
},
minLength: 1,



select: function(event,ui) {



flag = true;
jQuery('#receiverCityId').val(ui.item.id);



},

close: function(request,response) {

if(!flag){
return alert('error');
}else {
//code
}



}


});

вроде бы как-то так

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий