Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 04.10.2010, 16:15
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

Боря_Михалыч,
Так вы текст не вводите и NaN не будет вылезать
__________________
.
Ответить с цитированием
  #12 (permalink)  
Старый 04.10.2010, 16:18
Аватар для HelpeR
Профессор
Отправить личное сообщение для HelpeR Посмотреть профиль Найти все сообщения от HelpeR
 
Регистрация: 21.10.2008
Сообщений: 241

Михалыч, попробуйте вместо
var a1= Number(document.form1.visota.value);

Написать
var a1= parseInt(document.form1.visota.value);
Ответить с цитированием
  #13 (permalink)  
Старый 04.10.2010, 16:20
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

HelpeR,
один, фиг, разница
__________________
.
Ответить с цитированием
  #14 (permalink)  
Старый 04.10.2010, 16:22
Аватар для HelpeR
Профессор
Отправить личное сообщение для HelpeR Посмотреть профиль Найти все сообщения от HelpeR
 
Регистрация: 21.10.2008
Сообщений: 241

Skipp,
спасет, если он введет 1см
Ответить с цитированием
  #15 (permalink)  
Старый 04.10.2010, 16:24
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

Боря_Михалыч,
Поменяйте везде в value типа value="1,5", value="2,5" и т.д заместо запятых поставьте точки.

HelpeR,
А по моему "один, фиг, разница" что так, что так, будет либо NaN либо число
__________________
.
Ответить с цитированием
  #16 (permalink)  
Старый 04.10.2010, 16:26
Аватар для HelpeR
Профессор
Отправить личное сообщение для HelpeR Посмотреть профиль Найти все сообщения от HelpeR
 
Регистрация: 21.10.2008
Сообщений: 241

тогда лучше напишите
var a1= parseFloat(document.form1.visota.value);
Ответить с цитированием
  #17 (permalink)  
Старый 04.10.2010, 16:28
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

<form name="form1">
  <input type="text" onclick="this.style.backgroundColor = 'white';" name="visota" /><br/>
  <input type="text" onclick="this.style.backgroundColor = 'white';" name="shirina" /><br/>
  <input type="button" onclick="raschet(this.form)" value="Перемножить" /><br/>
  <input type="text" name="res_metall" />
</form>
<script>
function raschet(form){
  var visota = form[0], shirina = form[1],
  error;

  if(isNaN(visota.value)) {
    visota.style.backgroundColor = 'red';
    error = true;
  }
  if(isNaN(shirina.value)) {
    shirina.style.backgroundColor = 'red';
    error = true;
  }
  if(error == true) return NaN;
  s = visota.value * shirina.value;
  form[3].value=s;
  return s;
}
</script>
Ответить с цитированием
  #18 (permalink)  
Старый 04.10.2010, 16:46
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Или так:
<form name="form1">
  <input type="text" onclick="this.style.backgroundColor = 'white';" name="visota" /><br/>
  <input type="text" onclick="this.style.backgroundColor = 'white';" name="shirina" /><br/>
  <input type="button" onclick="raschet(this.form)" value="Перемножить" /><br/>
  <input type="text" name="res_metall" />
</form>
<script>
function check(el){
  if(isNaN(el.value)) {
    el.style.backgroundColor = 'red';
    return false;
  } else return true;
}
function raschet(form){
  var visota = form[0], shirina = form[1],
  checkResult = [check(visota), check(shirina)];
  for(var i = 0; i < checkResult.length; i++) if(!checkResult[i]) return NaN;
  form[3].value=visota.value * shirina.value;
}
</script>
Ответить с цитированием
  #19 (permalink)  
Старый 04.10.2010, 16:49
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

хмммм интерестно почему эту
form[3].value=visota.value * shirina.value;

строчку не правильно подсветил интерпретатор.
__________________
.
Ответить с цитированием
  #20 (permalink)  
Старый 04.10.2010, 17:03
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

А он тупой стал после последнего обновления (мне совсем не нравится html-подсветка). Из-за знака < он посчитал checkResult.length за тэг, а value=visota он посчитал за атрибут из-за =
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
спрятать/показать поле ввода при нажатии на checkbox g1r Элементы интерфейса 34 16.12.2017 00:34
Получить координаты курсора в текстовом поле в пикселях prike Events/DOM/Window 4 23.05.2013 04:35
Позиционирование курсора в поле ввода spider84 Элементы интерфейса 1 22.07.2010 13:03
открыть модальное окно pisikaka Общие вопросы Javascript 28 20.08.2009 03:53
Сделать текстовое поле активным battrack1 Общие вопросы Javascript 3 11.06.2009 17:21