Javascript.RU

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

Ошибка, в чём проблема?
Выполняю такой код
var wallStrR = $('input').val()+1;
alert(wallStrR);
Выдает "11", а должно быть "2", в input значение: 1
В чем проблема?
Ответить с цитированием
  #2 (permalink)  
Старый 15.07.2011, 18:35
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

потому что $('input').val() это строка, а не число
parseInt($('input').val(), 10) + 1
Ответить с цитированием
  #3 (permalink)  
Старый 15.07.2011, 18:36
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Потому что значением input'a является строка (где же ты, с++... Люди, пишущие на тебе, это понимают...).

alert('1' + 1); // 11
alert(1+1); //2

Делайте так:

var wallStrR = + $('input').val()+1;
alert(wallStrR);
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #4 (permalink)  
Старый 15.07.2011, 18:40
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

ваый, лучше parseFloat (ну а вдруг там что-то десятичное будет), и основание оказывать не обязательно, так как:
Цитата:
Если radix не указан или равен 0, то javascript предполагает следующее:

Если входная строка начинается с "0х", то radix = 16
Если входная строка начинается с "0", то radix = 8. Этот пункт зависит от реализации и в некоторых браузерах (Google Chrome) отсутствует.
В любом другом случае radix=10
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #5 (permalink)  
Старый 15.07.2011, 18:49
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

да, trikadin, я в курсе, что по умолчанию основание 10.
однако, если есть вероятность того, что строка может начинаться с 0, то все же лучше самому указывать. скажем, когда берем значение из селекта в котором id месяцев в виде 01, 02, 03, ..., 10, ...
я просто подумал, что новичка десятка подвигнет почитать документацию по функции
Ответить с цитированием
  #6 (permalink)  
Старый 15.07.2011, 18:59
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Ну, да, логично)

Сообщение от ваый
я просто подумал, что новичка десятка подвигнет почитать документацию по функции
Мечты, мечты...
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В чем ошибка при проверке телефона?? Amateur Общие вопросы Javascript 4 16.06.2011 22:52
Ошибка в jQuery 1.5.1. Не понимаю в чем проблема? viatcheslav AJAX и COMET 0 16.05.2011 11:38
unterminated string literal - в чем проблема MaxB Общие вопросы Javascript 5 09.07.2010 12:20
[новичек] в чем ошибка? Gloft Events/DOM/Window 2 10.05.2009 23:11
В чем проблема? скрипт по удалению фото... :( yukazerg23 jQuery 2 29.04.2009 10:25