Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.08.2008, 18:07
Гость
 
Сообщений: n/a

математические функции в type="text"
Проблема такова:
В поле есть числовое значение, надо к этому числу прибавить еще число и заменить его на новое (провести операцию сложения тобиш), но значение упорно не хочет складываться, а добавляется в конце.
напр.:

...
function plus(){
this.pole.value=this.pole.value+2;
}
...
<input name="pole" type="text" value="1">
<input type="button" value="считать" onclick="plus()">
...

Результат должен быть "3", а получается "12".
Помогите мне, светлые умы!
Ответить с цитированием
  #2 (permalink)  
Старый 25.08.2008, 18:33
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

Гость, строка !== число, поэтому, чтобы получилось математическое сложение, а не конкатенация строк, надо строку привести к числу:

var a = '1'; // строка
var b = '2'; // строка
alert(a + b); // строка - '12'
alert(parseInt(a, 10) + parseInt(b, 10)); // число - 3


P.S.: можно преобразовать строку в число, поставив префиксом плюс или минус:

alert(+'1' === 1); // true
__________________
Тонкости ECMAScript
Ответить с цитированием
  #3 (permalink)  
Старый 25.08.2008, 18:55
гость
 
Сообщений: n/a

Понял, ключевое было "parseInt", анатог strtoint.
Спасибо.
Ответить с цитированием
  #4 (permalink)  
Старый 25.08.2008, 19:26
Гость
 
Сообщений: n/a

пытаюсь решить еще одну задачку:
...
function alertt(id) {
if (id.checked = true) {alert("Бокс " + id + " включен")};
...

<input name="1" type="checkbox" id="1" onclick="alertt(1)">


Непонятка в том, что он всегда оказывается включен, независимо от того, включаешь его или выключаешь!
Ответить с цитированием
  #5 (permalink)  
Старый 25.08.2008, 20:29
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

Сообщение от Гость Посмотреть сообщение
пытаюсь решить еще одну задачку:
...
function alertt(id) {
if (id.checked = true) {alert("Бокс " + id + " включен")};
...

<input name="1" type="checkbox" id="1" onclick="alertt(1)">


Непонятка в том, что он всегда оказывается включен, независимо от того, включаешь его или выключаешь!
onclick="alertt(this)"
Ответить с цитированием
  #6 (permalink)  
Старый 25.08.2008, 20:42
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

В условии не =, а ==.
Ответить с цитированием
  #7 (permalink)  
Старый 25.08.2008, 21:07
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

тогда уж и {alert("Бокс " + id.id + " включен")};
Ответить с цитированием
  #8 (permalink)  
Старый 25.08.2008, 22:35
Гость
 
Сообщений: n/a

Ага, понял. == для сравнения, = для присвоения значения. А === тогда для чего? :-)
Ответить с цитированием
  #9 (permalink)  
Старый 25.08.2008, 22:48
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

=== - для полного сравнения (то есть данные должны быть оного типа: '1'==1 true ; '1'===1 false)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться в повторным обращении к функции, как её обнулить. AdvoGad Общие вопросы Javascript 0 01.09.2008 11:35
вызов функции, из JS генерируемого на сервере subaru AJAX и COMET 1 12.07.2008 13:44
Тестирование функции библиотеки AnimaJS Библиотеки/Тулкиты/Фреймворки 2 26.06.2008 22:45
Вызов функции из файла. Phoenix Общие вопросы Javascript 2 21.11.2007 22:49
Позиция курсора в input type="text" (ie) Кирпич Общие вопросы Javascript 2 21.10.2007 06:44