Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Помогите применить JS к форме (https://javascript.ru/forum/dom-window/35613-pomogite-primenit-js-k-forme.html)

pulmar 16.02.2013 01:30

Помогите применить JS к форме
 
Добрый вечер коллеги. Пожалуйста помогите новичку с задачей. Написал JS но незнаю как получившуюся "белеберду" применить к форме, через prompt все работает нормально....

var x = prompt("Количество", "");
var y = prompt("Вес", "");
		x = parseInt(x);
		y = parseInt(y);
		if (x >= 1 && x <= 50 && y >= 0 && y <= 1)
		{
			var z1 = x*200+x*35;
			alert(z1);
			document.write(z1);
		}
		if (x >= 51 && x <= 150 && y >= 0 && y <= 1)
		{
			var z2 = x*180;
			alert(z2);
			document.write(z2);
		}
		if (x >= 151 && x < 9999 && y >= 0 && y <= 1)
		{
			var z3 = x*170;
			alert(z3);
			document.write(z3);
		}
		if (x >= 1 && x <= 50 && y >= 1.1 && y <= 4)
		{
			var z4 = x*215;
			alert(z4);
			document.write(z4);
		}
		if (x >= 51 && x <= 150 && y >= 1.1 && y <= 4)
		{
			var z5 = x*190;
			alert(z5);
			document.write(z5);
		}
		if (x >= 151 && x < 9999 && y >= 1.1 && y <= 4)
		{
			var z6 = x*180;
			alert(z6);
			document.write(z6);
		}
		if (x >= 1 && x <= 50 && y >= 4.1 && y <= 8)
		{
			var z7 = x*250;
			alert(z7);
			document.write(z7);
		}
		if (x >= 51 && x <= 150 && y >= 4.1 && y <= 8)
		{
			var z8 = x*230;
			alert(z8);
			document.write(z8);
		}
		if (x >= 151 && x < 9999 && y >= 4.1 && y <= 8)
		{
			var z9 = x*200;
			alert(z9);
			document.write(z9);
		}
		if (x >= 1 && x <= 50 && y >= 8.1 && y <= 15)
		{
			var z10 = x*330;
			alert(z10);
			document.write(z10);
		}
		if (x >= 51 && x <= 150 && y >= 8.1 && y <= 15)
		{
			var z11 = x*300;
			alert(z11);
			document.write(z11);
		}
		if (x >= 151 && x < 9999 && y >= 8.1 && y <= 15)
		{
			var z12 = x*280;
			alert(z12);
			document.write(z12);
		}
		if (x >= 1 && x <= 50 && y >= 15.1 && y < 9999)
		{
			var z13 = x*360;
			alert(z13);
			document.write(z13);
		}
		if (x >= 51 && x <= 150 && y >= 15.1 && y < 9999)
		{
			var z14 = x*320;
			alert(z14);
			document.write(z14);
		}
		if (x >= 151 && x < 9999 && y >= 15.1 && y < 9999)
		{
			var z15 = x*300;
			alert(z15);
			document.write(z15);
		}


вот сама форма:
<br/>
        Количество: <input type="text" id="x" value="1" onchange="calc()" />
<br/>
        Вес: <input type="text" id="y" value="1" onchange="calc()" />
<div>Стоимость доставки: <span id="result">0</span> руб.</div>


Заранее огромное спасибо! Просто позарез нужно реализовать срочно это а JS только сегодня начал изучать ((((

P.S Пытался колдовать еще и с этим, но тут вобще ноль реакции в браузере
function calc() {
		var x = document.getElementById("x");
		var y = document.getElementById("y");
		var result = document.getElementById("result")

danik.js 16.02.2013 11:10

y = parseInt(y)... y >= 4.1
parseInt возвращает целое число. Нет смысла далее сравнивать его с дробным. Целое число по определению не может быть равно равно 4.1

Цитата:

Сообщение от pulmar
Пытался колдовать еще и с этим

Все правильно. Просто чтобы вывести результат просто пишете:
result.innerHTML = z1;

pulmar 16.02.2013 14:02

result.innerHTML = z1;

куда именно это вставлять :-? и как перечислить z1 z2 и т.д.
таким образом:
result.innerHTML = z1 + z2 + z3;
или же по другому?

P.S. Спасибо за помощь!

pulmar 16.02.2013 14:13

если через prompt вносить данные начал показывать результат, однако если заполняю в text field формы в результате выводится : undefined (насколько успел понять JV это означает что значение не определенно.) Хотя повторюсь если прописываю:
var x = prompt("Количество", "");
var y = prompt("Вес", "");

то результат выводится....

Deff 16.02.2013 14:32

pulmar,
Цитата:

Сообщение от pulmar
однако если заполняю в text field формы в результате выводится : undefined (насколько успел понять JV это означает что значение не определенно.)

Скрипт нужно выполнять по событию нажатия кнопки отправки - проверки формы, иначе естественно у Вас поля пустые

Deff 16.02.2013 14:39

<input type="button" onclick="tstForm()" value="Проверить">
<script>
function tstForm() {
  // Тут код проверки
}tstForm()
</script>

pulmar 16.02.2013 15:27

Спасибо за ответ!! Однако я не очень понимаю "Код проверки" имеется ввиду этот:
if (x >= 1 && x <= 50 && y >= 0 && y <= 1)
06
        {
07
            var z1 = x*200+x*35;
08
            alert(z1);
09
            document.write(z1);
10
        }
11
        if (x >= 51 && x <= 150 && y >= 0 && y <= 1)
12
        {
13
            var z2 = x*180;
14
            alert(z2);
15
            document.write(z2);
16
        }

? или же иной?
P.S. Еще раз спасибо всем кто не оставит или уже не оставил без внимания мою проблему

pulmar 16.02.2013 16:48

Всё заработало! Всем огромнейшее спасибо!:dance:


Часовой пояс GMT +3, время: 13:05.