powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Вывод переменной в форму
15 сообщений из 15, страница 1 из 1
Вывод переменной в форму
    #35847214
AzagTot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе время суток!

Наверное это глупый вопрос, но я только недавно начал изучать JS и не могу понять почему ниже приведённый скрипт не работает:

Сам код:

автор<script language = "javas?1?ript">
function calculate () {
var c1 = 2334; var c2 = 343; var c3 = 343; var c4 = 23; var c5 = 222; var c6 = 222;
var k1 = document.forms['form1'].elements['t1'].value;
var k2 = document.forms['form1'].elements['t2'].value;
var k3 = document.forms['form1'].elements['t3'].value;
var k4 = document.forms['form1'].elements['t4'].value;
var k5 = document.forms['form1'].elements['t5'].value;
var k6 = document.forms['form1'].elements['t6'].value;
sum = k1*c1 + k2*c2 k3*c3 k4*c4 k5*c5 k6*c6;
document.forms['form1'].elements['cena'].value == sum;
if (sum>1000)
{sk = sum*10/100;
document.forms['form1'].elements['skidka'].value == sk}}
</script>

Форма:

автор<form name = form1>
<table>
<tr><td> Товар<td> <td><input type = text value = 0 id = 1 name = t1 size = 5> </td></tr>
<tr><td> Товар<td> <td><input type = text value = 0 id = 2 name = t2 size = 5> </td></tr>
<tr><td> Товар<td> <td><input type = text value = 0 id = 3 name = t3 size = 5> </td></tr>
<tr><td> Товар<td> <td><input type = text value = 0 id = 4 name = t4 size = 5> </td></tr>
<tr><td> Товар<td> <td><input type = text value = 0 id = 5 name = t5 size = 5> </td></tr>
<tr><td> Товар<td> <td><input type = text value = 0 id = 6 name = t6 size = 5> </td></tr>
</table>
Цена: <input type = text name = cena size = 5>  
Cкидка: <input type = text name = skidka size = 5>  
<input type = submit value = Купить name = by onClick = "calculate();">
</form>

В Url, насколько я могу судить, значения передаются правильно, а вот в текстовые формы они не записываются ...

Надеюсь, кто-нибудь поможет, ошибка наверника пустяковая, но найти я её не могу уже какой день ... =/

Заранее спасибо за помощь!
...
Рейтинг: 0 / 0
Вывод переменной в форму
    #35847219
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может в том что:
1. id не может начинаться с цыфры
2. когда ты обращаешься к document.forms['form1'].elements['t1'].value; разве при этом ишеться по нейму а не по иду?
...
Рейтинг: 0 / 0
Вывод переменной в форму
    #35847224
AzagTot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. Исправил, но в данном случае это не важно ...
2. Эээ ... Не совсем понял вопрос ... Я пытаюсь обратиться имено по нейму ...

После того, как нажимаешь кнопку "купить", в IE вообще ничего не происходит, а в Opera значения на секунду мелькают в текстовых полях. Вопрос в том, как сделать, чтобы значения там и оставались :)
...
Рейтинг: 0 / 0
Вывод переменной в форму
    #35847252
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Само примитивно попробуй вместо:
Код: plaintext
var k1 = document.forms['form1'].elements['t1'].value;
написать:
Код: plaintext
var k1 = document.getElementByName('t1').value;
а еще лчуше всетаки через id.
А парвильным в твоем случае я думаю вариант:
var k1 = document.forms[0].elements['1'].value;
...
Рейтинг: 0 / 0
Вывод переменной в форму
    #35847331
AzagTot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
<script language = "javascript">
function calculate () {
var c1 =  2334 ; var c2 =  343 ; var c3 =  343 ; var c4 =  23 ; var c5 =  222 ; var c6 =  222 ;
var k1 = document.forms[ 0 ].elements['1'].value;
var k2 = document.forms[ 0 ].elements['2'].value;
var k3 = document.forms[ 0 ].elements['3'].value;
var k4 = document.forms[ 0 ].elements['4'].value;
var k5 = document.forms[ 0 ].elements['5'].value;
var k6 = document.forms[ 0 ].elements['6'].value;
sum = k1*c1 + k2*c2 + k3*c3 + k4*c4 + k5*c5 + k6*c6;
document.forms[ 0 ].elements['7'].value = sum;
if (sum> 1000 )
{sk = sum* 10 / 100 ;
document.forms[ 0 ].elements['8'].value = sk;}}
</script>
<form name = form1>
<table>
<tr><td> Товар<td> <td><input type = text value =  0  id =  1  name = t1 size =  5 > </td></tr>
<tr><td> Товар<td> <td><input type = text value =  0  id =  2  name = t2 size =  5 > </td></tr>
<tr><td> Товар<td> <td><input type = text value =  0  id =  3  name = t3 size =  5 > </td></tr>
<tr><td> Товар<td> <td><input type = text value =  0  id =  4  name = t4 size =  5 > </td></tr>
<tr><td> Товар<td> <td><input type = text value =  0  id =  5  name = t5 size =  5 > </td></tr>
<tr><td> Товар<td> <td><input type = text value =  0  id =  6  name = t6 size =  5 > </td></tr>
</table>
Цена:   <input type = text id =  7  name = t7 size =  5 >   
Cкидка: <input type = text id =  8  name = t8 size =  5 >  
<input type = submit value = Купить  name = by onClick = "calculate();">
</form>

Теперь он цену вообще не считает, а скидка мелькает в поле t8 как и раньше ... Я уже потихоньку начинаю отчаиваться )

Главное, что первый вариант всёравно работал правильно, если смотреть по URL:
Код: plaintext
/purchase2.html?t1= 234 &t2= 234 &t3= 0 &t4= 0 &t5= 0 &t6= 0 &cena= 626418 &skidka= 62641 

Так что хоть по id, хоть по name, а проблема в том, что значения в форме, в которую они должны выводиться не задерживаются ...
...
Рейтинг: 0 / 0
Вывод переменной в форму
    #35847686
antistepler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
во первых, elements['1'] начинается с нуля, то есть elements['0']
во вторых, вместо sum*10/100 лучше sum*0.1
в третьих, вместо submit надо button
в четвертых, вместо xnClick надо onClick

вроде УсЁ
попробуйте. должно работать
...
Рейтинг: 0 / 0
Вывод переменной в форму
    #35847691
antistepler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
antisteplerво первых, elements['1'] начинается с нуля, то есть elements['0']
во вторых, вместо sum*10/100 лучше sum*0.1
в третьих, вместо submit надо button
в четвертых, вместо xnClick надо 0nClick

вроде УсЁ
попробуйте. должно работать
...
Рейтинг: 0 / 0
Вывод переменной в форму
    #35848005
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
РенатСамо примитивно попробуй вместо:
Код: plaintext
var k1 = document.forms['form1'].elements['t1'].value;
написать:
Код: plaintext
var k1 = document.getElementByName('t1').value;
Нету getElementByName, есть getElement s ByName, возвращает массив элементов с таким именем.
...
Рейтинг: 0 / 0
Вывод переменной в форму
    #35848830
AzagTot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем большое спасибо за помощь! Всё заработало! =)

П.С. Но я ещё не прощаюсь ... )
...
Рейтинг: 0 / 0
Вывод переменной в форму
    #36478635
OlegAT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет. Понимяю что поднял годовалую тему, но:
у меня не работает
Код: plaintext
1.
2.
document.forms[ 0 ].elements['tmp'].name;
document.forms[ 0 ].name;
как я понял, здесь не работает конструкция ни в IE, ни в Opera и FF
Код: plaintext
document.forms[ 0 ]
Как быть?
...
Рейтинг: 0 / 0
Вывод переменной в форму
    #36478664
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlegAT,

Работает и очень хорошо. Что Вам надо открывайте новую тему.
...
Рейтинг: 0 / 0
Вывод переменной в форму
    #36478722
OlegAT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хорошо открою, но вот реально так работает
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
// Получить объект формы можно с помощью его имени, из атрибута name
var obj_form=document.n_forms;  
/*	или
var obj_form=document.forms["n_forms"]; *.
// У формы есть массив elements, который содержит все элементы данной формы.
// Узнать количество элементов формы - свойство length (obj_form.elements.length).
// Получить объект элемента формы можно по его номеру n в форме
var num_element = obj_form.elements.length;
alert("obj_form.length -> " + obj_form.length);
var name_form = "";
for (i = 0; i < obj_form.length; i++) {
	obj_element = obj_form.elements[i]; 
	name_form = name_form + "\n-> " + obj_element.name
	+ " -- " + obj_element.type;
}
alert(name_form + "\nend"); */
если использую конструнцию
Код: plaintext
document.forms[ 0 ]
нет!!!!
А тут "втирают" про
Код: plaintext
1.
k1 = document.forms[ 0 ].elements['1'].value;
Так в чем "глюк"?
...
Рейтинг: 0 / 0
Вывод переменной в форму
    #36478728
OlegAT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
var tmp = document.forms[ 0 ].elements.length
alert("obj_form.length -> " + tmp);
Вместо числа элемнентов в форме выдает число форм?!
...
Рейтинг: 0 / 0
Вывод переменной в форму
    #36478741
OlegAT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разобрался, все дело в 1С-Битрикс.
Помню что работало!
"Напихали" кучу не именованных форм, методом итераций разобрался!
Причина в том что призагрузке страницы Битрикс грузит сначала мою (2-е формы),
а потом добавляет на страницу еще две перед формами пользователя!
Поэтому у меня получилось 2-е, а потом 4-ре!
...
Рейтинг: 0 / 0
Вывод переменной в форму
    #36478744
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlegAT
Код: plaintext
1.
var tmp = document.forms[ 0 ].elements.length
alert("obj_form.length -> " + tmp);
Вместо числа элемнентов в форме выдает число форм?!
Нет. Должно выдавать количество элементов на форме. Скорее всего, так и выдаёт.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Вывод переменной в форму
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]