Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.08.2011, 18:37
Аспирант
Отправить личное сообщение для DorianLeroy Посмотреть профиль Найти все сообщения от DorianLeroy
 
Регистрация: 05.05.2010
Сообщений: 36

Проверка переменной на пустоту
Всем привет.

Я получаю из опеределённого поля число, вот так:


var priceforcart = $("#summ_order").html();



При первом обращении к полю #summ_order - там ничего нет, пустая строка(т.е. получается просто <div id="summ_order"></div>), далее это поле наполняется - <div id="summ_order">VALUE</div>.

Мне нужно использоваться эту переменную в условном операторе. Как проверить переменную priceforcart на то что там ничего нет? )

Делал вот так:

if (isNaN(priceforcart)){
   ...
				}
но почему-то не получается.
Ответить с цитированием
  #2 (permalink)  
Старый 08.08.2011, 18:42
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

if ( priceforcart === "") {
   // пустая епрс. =)))
}
Ответить с цитированием
  #3 (permalink)  
Старый 08.08.2011, 18:44
Кандидат Javascript-наук
Отправить личное сообщение для TicTac Посмотреть профиль Найти все сообщения от TicTac
 
Регистрация: 07.09.2010
Сообщений: 133

так не?
priceforcart == ""
Ответить с цитированием
  #4 (permalink)  
Старый 08.08.2011, 18:47
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

если ты переменную инициализировал через var ,но не присвоил ей значение-она будет undefenit

alert(b);
alert(typeof(b));
var b;
var a;
b=a;
alert(b);
if(typeof(b)=="undefined") alert("пусто");

или я неправильно понял задачу

Последний раз редактировалось dmitriymar, 08.08.2011 в 19:06.
Ответить с цитированием
  #5 (permalink)  
Старый 08.08.2011, 18:48
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

dmitriymar, undefined
Ответить с цитированием
  #6 (permalink)  
Старый 08.08.2011, 18:49
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

devote,
попутал темы в первом сообщении
Ответить с цитированием
  #7 (permalink)  
Старый 08.08.2011, 19:09
Аспирант
Отправить личное сообщение для DorianLeroy Посмотреть профиль Найти все сообщения от DorianLeroy
 
Регистрация: 05.05.2010
Сообщений: 36

Не получается. Наверно не до конца все объяснил.

var priceforcart = $("#summ_order").html(); 
priceforcart = parseInt(priceforcart);
priceforcart = priceforcart+price; 
$("#summ_order").text(priceforcart);


Переменная price - всегда целое число.
Так вот когда мы первый раз обращаемся к #summ_order(между дивами ничего нет) - при выполнении $("#summ_order").text(priceforcart); в соответствующем поле(div id="summ_order">) пишется NaN.
Ответить с цитированием
  #8 (permalink)  
Старый 08.08.2011, 19:18
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от DorianLeroy
text(priceforcart); в соответствующем поле(div id="summ_order">) пишется NaN.
всё правильно
при выполнении этой операции priceforcart = parseInt(priceforcart); ты получишь NaN поскольку нельзя привести пустую строку к числу. а NaN+число тоже будет NaN; если ты пременной присваиваешь строковое значение пусть даже и пустое-переменная приобретёт строковой тип.
var b="";
alert(typeof(b));
alert(parseInt(b));
Ответить с цитированием
  #9 (permalink)  
Старый 08.08.2011, 19:19
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

DorianLeroy,
Вариант ...
priceforcart = parseInt(priceforcart)||0;
Ответить с цитированием
  #10 (permalink)  
Старый 08.08.2011, 19:20
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

var priceforcart = $("#summ_order").html();  
priceforcart = ( parseInt( priceforcart ).toString() === "NaN" ) ? 0 : parseInt( priceforcart );
priceforcart = priceforcart+price;  
$("#summ_order").text(priceforcart);
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вернуть имя переменной Йакуд Общие вопросы Javascript 21 18.05.2014 10:10
Доступ к общей переменной из события isergey Events/DOM/Window 1 28.01.2011 15:24
Изменение и отображение значения переменной по клику Allan Stark Общие вопросы Javascript 1 25.04.2010 15:50
Проверка типа переменной SunYang Общие вопросы Javascript 4 13.02.2009 20:15
Переменная от переменной или как к имени переменной конкатенировать значение другой Aderba jQuery 5 12.11.2008 15:25