Добрый день!
Подскажите как правильно проверить переменную на пустоту и существование?
что то все по-разному делают. Или я чего то не пойму.
sergeiss
2.11.2015 - 22:36
Проверяем переменную id на существование; если существует, то оцениваем, что у нее есть какая-то разумная величина. Вторую проверку можно сделать по-разному, в зависимости от того, какие там данные предполагаются:
if( typeof(id) != 'undefined' && id != '') {
...
}
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
Цитата |
if( typeof(id) != 'undefined' && id != '') { ... }
|
Для проверки селектов и инпутов на пустоту пойдет?
sergeiss
2.11.2015 - 22:58
Ты уж определись сначала: тебе переменную проверить или селект/инпут. И для начала опиши, что за задача.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
Да нет задачи. Читаю просто в инете как проверить переменную на существование и пустоту, и про инпуты тоже.
Кто то так проверяет:
$("#id").val().length == 0
кто то так
$("#id").val() == ' '
C переменными тоже кто то так
typeof(id) != 'undefined'
а кто то так id != ''
Есть еще разные примеры
Вот я чет и запутался как проверить правильно инпуты и переменные на пустоту и существование
sergeiss
2.11.2015 - 23:21
Во втором примере у тебя проверка не на пустоту, а на равенство пробелу
Цитата (Reh @ 2.11.2015 - 23:16) |
Вот я чет и запутался как проверить правильно инпуты и переменные на пустоту и существование |
Отдели мух от котлет... Переменные и инпуты не надо в одну кучу мешать. Да, для инпута надо проверять значение value (возможны разные варианты). У переменной проверяется она сама. Причем также возможны варианты.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
Ок, отделю.
так инпут/селект правильно проверять?
$("#id").val().length == 0
sergeiss
2.11.2015 - 23:31
Цитата (Reh @ 2.11.2015 - 23:24) |
так инпут/селект правильно проверять?
$("#id").val().length == 0 |
Если на пустоту величины - да. Можно еще
trim() добавить, чтобы исключить пробелы.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
var test = $("#id").val();
$.trim(test);
if(test.length == 0){
То-есть так проверяем инпуты,
а так typeof(id) != 'undefined' && id != '' переменные?
AllesKlar
3.11.2015 - 06:11
Про null, про null-то забыли!!! :)
var id = null;
typeof(id) != 'undefined' && id != ''
_____________
[продано копирайтерам]
sergeiss
3.11.2015 - 10:56
Цитата (AllesKlar @ 3.11.2015 - 06:11) |
Про null, про null-то забыли!!! :) |
Нет, не забыли.
Цитата (sergeiss @ 2.11.2015 - 22:36) |
Вторую проверку можно сделать по-разному, |
Я тут и null тоже подразумевал. Просто тут можно дохрена всего напроверять. Всё зависит от данных, их структуры.
Ну например...
var a = $('.focus');
Переменную a проверять на null можно, но смысла нет. Потому что там всегда будет объект :) Даже typeof не нужен. Достаточно проверить a.length.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
AllesKlar
sergeiss
спасибо!
Игорь_Vasinsky
3.11.2015 - 20:57
typeof(id)
а
typeof id
не кроссбраузерно ?
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
sergeiss
3.11.2015 - 21:15
Игорь_Vasinsky, по-моему, одинаково везде работает. Лично мне привычнее со скобками
Потому что больше похоже на функцию.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
Игорь_Vasinsky
3.11.2015 - 21:27
sergeiss
аа... а я наоборот минимилизирую код)
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker