Помогите с кодом js
Вложений: 1
Делаю калькулятор для сайта, в 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 к кнопкам, видимо тут проблема? Файл примерного исходника в теме. |
Цитата:
Цитата:
|
Где-то тут ошибка
Где то тут ошибка, а где не понимаю.Три дня уже сижу.
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); |
Кнопки имеют следующий код
<button id="AdvancedButton1" onclick="changeText0()" type="button" style="position:absolute;" name="la" value="500"> |
Дмитрий Б,
Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
отформатировать где? в исходнике?
|
Файл с исходником
Вложений: 1
Приложил исходник
|
Дмитрий Б,
здесь в сообщении отформатируйте вставлемый вами код и попробуйте проблемый код показать, прямо здесь |
<!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> |
Дмитрий Б,
может заменить button на <input name="" type="radio"> |
Часовой пояс GMT +3, время: 20:22. |