Javascript.RU

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

Помогите с кодом js
Делаю калькулятор для сайта, в js "чайник", изучаю на ходу.
Суть проблемы: есть форма name="Form1", на ней два поля ввода чисел, id="Editbox1" name="1" и id="Editbox2" name="2", которые мы умножаем и результат выводим в третье поле на этой же форме id="result" name="3", используя формулы
result *= parseFloat(document.getElementById('Editbox1').val ue);
result *= parseFloat(document.getElementById('Editbox2').val ue);
Проблема вот в чем. на форме есть много изображений-кнопок, каждое имеет определенное числовое значение value="" при нажатии на эту кнопку присвоенное число должно умножаться на поле id="result" name="3" с выводом результата в этом поле.
Пробывал присваивать кнопкам одно имя и умножать
result *= parseFloat(document.getElementByName('na').value);
результата нет, не могу понять как привязать onclick к кнопкам, видимо тут проблема?
Файл примерного исходника в теме.
Вложения:
Тип файла: txt исходник1.txt (1.1 Кб, 2 просмотров)
Ответить с цитированием
  #2 (permalink)  
Старый 17.09.2016, 08:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Сообщение от Дмитрий Б
document.getElementByName('na').value
getElementByName -- getElementsByName

Цитата:
⚠Возвращается коллекция, а не элемент
Ответить с цитированием
  #3 (permalink)  
Старый 17.09.2016, 10:25
Интересующийся
Отправить личное сообщение для Дмитрий Б Посмотреть профиль Найти все сообщения от Дмитрий Б
 
Регистрация: 17.09.2016
Сообщений: 10

Где-то тут ошибка
Где то тут ошибка, а где не понимаю.Три дня уже сижу.
function changeText0()
{
var Editbox1 = document.getElementById('Editbox1').value; //выцепляем значение value первого вводимого поля
var Editbox2 = document.getElementById('Editbox2').value; //выцепляем значение value второго вводимого поля
var result = Editbox1 * Editbox2
document.getElementById('result').innerHTML = result.toFixed(2);
var button = document.getElementsByName('la'); //определяем какой из пунктов выбран и запоминаем его value в переменную button
button = []; // задаем пустой массив button
if (buttons[i].type == "button" && buttons[i])
button[button.length] = buttons[i].value;
var result = result * button
document.getElementById('result').innerHTML = result.toFixed(2);
Ответить с цитированием
  #4 (permalink)  
Старый 17.09.2016, 10:26
Интересующийся
Отправить личное сообщение для Дмитрий Б Посмотреть профиль Найти все сообщения от Дмитрий Б
 
Регистрация: 17.09.2016
Сообщений: 10

Кнопки имеют следующий код
<button id="AdvancedButton1" onclick="changeText0()" type="button" style="position:absolute;" name="la" value="500">
Ответить с цитированием
  #5 (permalink)  
Старый 17.09.2016, 10:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Дмитрий Б,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #6 (permalink)  
Старый 17.09.2016, 11:02
Интересующийся
Отправить личное сообщение для Дмитрий Б Посмотреть профиль Найти все сообщения от Дмитрий Б
 
Регистрация: 17.09.2016
Сообщений: 10

отформатировать где? в исходнике?
Ответить с цитированием
  #7 (permalink)  
Старый 17.09.2016, 11:13
Интересующийся
Отправить личное сообщение для Дмитрий Б Посмотреть профиль Найти все сообщения от Дмитрий Б
 
Регистрация: 17.09.2016
Сообщений: 10

Файл с исходником
Приложил исходник
Вложения:
Тип файла: txt исходник.txt (1.8 Кб, 0 просмотров)
Ответить с цитированием
  #8 (permalink)  
Старый 17.09.2016, 11:38
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Дмитрий Б,
здесь в сообщении отформатируйте вставлемый вами код
и попробуйте проблемый код показать, прямо здесь
Ответить с цитированием
  #9 (permalink)  
Старый 17.09.2016, 11:41
Интересующийся
Отправить личное сообщение для Дмитрий Б Посмотреть профиль Найти все сообщения от Дмитрий Б
 
Регистрация: 17.09.2016
Сообщений: 10

<!doctype html>
<html lang="ru">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9">
<meta charset="utf-8">
<script>
 function changeText0()
{
var Editbox1 = document.getElementById('Editbox1').value; //выцепляем значение value первого вводимого поля
var Editbox2 = document.getElementById('Editbox2').value; //выцепляем значение value второго вводимого поля
var result = Editbox1 * Editbox2
 document.getElementById('result').innerHTML = result.toFixed(2);
var button = document.getElementsByName('la'); //определяем какой из пунктов выбран и запоминаем его value в переменную button
		button = []; // задаем пустой массив button
			if (buttons[i].type == "button" && buttons[i]) 
			button[button.length] = buttons[i].value;		 							
	var	result = result * button
		document.getElementById('result').innerHTML = result.toFixed(2);
}		
</script>
</head>
<body>
<form name="Form1" method="post" action="" enctype="text/plain" id="Form1" onsubmit="return ValidateForm1(this)" oninput="changeText0()">
<input type="number" id="Editbox1" style="position:absolute;" name="1" value="0.4">
<input type="number" id="Editbox2" style="position:absolute; name="2" value="0.4">
<button id="AdvancedButton1" onclick="changeText0()" type="button" style="position:absolute;" name="la" value="500">
</button>
<button id="AdvancedButton2" onclick="changeText0()" type="button" style="position:absolute;" name="la" value="400">
</button>
<output type="text" id="result" style="position:absolute;left:810px;top:200px;width:75px;height:24px;line-height:24px;z-index:30;" name="Стоимость" value="" readonly autocomplete="off">
</form>
</div>
</body>
</html>

Последний раз редактировалось Дмитрий Б, 17.09.2016 в 11:45.
Ответить с цитированием
  #10 (permalink)  
Старый 17.09.2016, 11:56
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Дмитрий Б,
может заменить button на
<input name="" type="radio">
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите расшифровать JS pavdin Общие вопросы Javascript 24 01.04.2017 20:37
Помогите исправить ошибку. node js (tradebot) SuperGangster Node.JS 3 22.07.2015 22:02
Помогите к js коду, написать html код Modrih Элементы интерфейса 8 16.06.2015 18:08
помогите разобраться с кодом Mc'Intosh (X)HTML/CSS 3 25.03.2015 10:20
помогите со js скриптом поиска по текстовой базе MorganStels Ваши сайты и скрипты 4 15.06.2010 10:03