Forum Webscript.Ru

Программирование => JavaScript & JScript => Тема начата: covex1 от 20 Июня 2006, 12:31:59

Название: Изменение value= у поля Input при изменении другого Input по OnChancg
Отправлено: covex1 от 20 Июня 2006, 12:31:59
JavaScript = 0 (абсолютный 0)

Есть форма:










.

.

.

.






Как должна быглядеть функция test(), что бы при внесении значения в поле input name="all" id="t1" (т.е. самое нижнее) это значение автоматом вставлялось во все остальные поля input.

Ногами не бейте - ни чего не могу на JavaScript.
Название: Изменение value= у поля Input при изменении другого Input по OnChancg
Отправлено: html_coder от 20 Июня 2006, 15:28:42
Чтобы не быть 0, надо зайти и почитать вот сюда
http://developer.mozilla.org/ (http://developer.mozilla.org/)

Если
, то например так



function test()
{
var form_element = document.getElementById(\'my_form\');
var all_input = document.getElementById(\'all\');
var input_elements = form_element.getElementsByTagName(\'input\');
for(var i = 0; i < input_elements.length; i++)
{
input_elements[i].value = all_input.value;
}
}


Код не проверял!
Название: Изменение value= у поля Input при изменении другого Input по OnChancg
Отправлено: covex1 от 20 Июня 2006, 16:45:48
Цитировать
html_coder:
Если ......


Все работает. Только и на тоже работает.
Я предположил что если внесу следующие изсенения в HTML:




.............

а, в функции test() преобразую строчку
var input_elements = form_element.getElementsByTagName(\'input\'); в var input_elements = form_element.getElementById(\'my_fields\');, то все получится.
Однако не получилось, пишет Объект не поддерживает это свойство или метод.
Чего мне надо дописать что бы определенные поля принимали значение, а не все подрят вплоть до Submit?
Название: Изменение value= у поля Input при изменении другого Input по OnChancg
Отправлено: html_coder от 20 Июня 2006, 16:57:47
Можешь попробовать например так


function test()
{
    var form_element = document.getElementById(\'my_form\');
    var all_input = document.getElementById(\'all\');
    var input_elements = form_element.getElementsByTagName(\'input\');
    for(var i = 0; i < input_elements.length; i++)
    {
        //Поле текстовое
        if(input_elements[i].type == \'text\')
        {
              input_elements[i].value = all_input.value; //Проставляем значения
        }
    }
}
Название: Изменение value= у поля Input при изменении другого Input по OnChancg
Отправлено: html_coder от 20 Июня 2006, 16:59:54
Цитировать
covex1:
var input_elements = form_element.getElementsByTagName(\'input\'); в var input_elements = form_element.getElementById(\'my_fields\');, то все получится.

Я же говорю, что проще обратиться к документации и понять что предположение неверное, поскольку при помощи метода getElementById, можно получить один конкретный элемент, а  у тебя их несколько.

И вообще написанное тобой полный бред, поскольку document.getElementById(id); (http://developer.mozilla.org/en/docs/DOM:document.getElementById) метод объекта document!!!!
Название: Изменение value= у поля Input при изменении другого Input по OnChancg
Отправлено: covex1 от 20 Июня 2006, 17:45:23
Цитировать
html_coder:
Я же говорю, что проще обратиться к документации


Не нашел ни одного учебника, где-бы доходчиво простому ламеру с нуля начали объяснять что такое javascript.
Посоветуй?

Цитировать
html_coder:
Можешь попробовать например так.....


Мне не все поля типа Text надо, а некоторые. Неужели нет простого решения?
Название: Изменение value= у поля Input при изменении другого Input по OnChancg
Отправлено: html_coder от 20 Июня 2006, 17:55:11
Цитировать
covex1:
Не нашел ни одного учебника, где-бы доходчиво простому ламеру с нуля начали объяснять что такое javascript. Посоветуй?


А того что есть
здесь (http://forums.webscript.ru/showthread.php?s=&threadid=4583&msgnum=4) тебе мало?

Мне не все поля типа Text надо, а некоторые. Неужели нет простого решения?

Цитировать
covex1:
Мне не все поля типа Text надо, а некоторые. Неужели нет простого решения?


Некоторые это какие? По какому критерию они будут попадать в некоторые?
Название: Изменение value= у поля Input при изменении другого Input по OnChancg
Отправлено: covex1 от 20 Июня 2006, 18:02:51
Цитировать
html_coder:
А того что есть
здесь тебе мало?


Если честно, то тут обсуждение, а не полнофункциональное обучение. Буду искать дальше.


Цитировать
html_coder:
Некоторые это какие? По какому критерию они будут попадать в некоторые?


По любому критерию, который можно привязать в полю Input.
Скажем .
Название: Изменение value= у поля Input при изменении другого Input по OnChancg
Отправлено: html_coder от 20 Июня 2006, 18:10:59
Цитировать
covex1:
Если честно, то тут обсуждение, а не полнофункциональное обучение. Буду искать дальше.


Да но при этом ты проосишь готового решения ))) Я думаю не стоит так загонятся.

Алгоритм может быть примерно такой

Ты можешь например у всех input которые тебе нужны сделать в id одинаковый префикс, т.е например так





Потом написать функцию которая будет получать элементы с заданным префиксом. Использую document.getElementByTagName например. (Можно если в твоём случае это вохможно задать всем эти input одинкавый name) и использовать getElementsByName

Ну а потом используя эту функцию получить эти элементы в функии test() и проставить value только у них!

Вот примерно так!
Название: Изменение value= у поля Input при изменении другого Input по OnChancg
Отправлено: covex1 от 20 Июня 2006, 18:26:01
Цитировать
html_coder:
Да но при этом ты проосишь готового решения


Конечно, я не разделяю слова объект, свойство и метод. Я не знаю этих понятий!!!



Цитировать
html_coder:
Потом написать функцию....


Как ее написать если ничего не понимаешь в базовых понятиях.

Это звучит также: написать функцию парсинга CSV файла с дальшейшим вносом в Mysql.

Сначала строишь 2 цикла, внешний разделяет файл по концу абзаца, внутренний по ";" и во внутреннем цикле делаешь Mysql запрос.

Для меня задача на 3 минуты - для других 3 недели.
Название: Изменение value= у поля Input при изменении другого Input по OnChancg
Отправлено: html_coder от 20 Июня 2006, 18:36:49
Цитировать
covex1:
Конечно, я не разделяю слова объект, свойство и метод. Я не знаю этих понятий!!!


Извини, больше ни чем не могу тебе помочь! Действительно здесь обсуждение, жди, может кто-то напишет её за тебя, недели через три а может и раньше.
Название: Изменение value= у поля Input при изменении другого Input по OnChancg
Отправлено: covex1 от 20 Июня 2006, 18:40:32
Ок. Буду ждать. Т.к. убивать 3 месяца на обучение мне ни кто недаст.
Люди!!! Help!!!!
Название: Изменение value= у поля Input при изменении другого Input по OnChancg
Отправлено: hanslinger от 20 Июня 2006, 19:45:51
Конечно. Ждать — самое продуктивное. Поисковики вымерли, ссылок на этом форуме на разжеванную документацию нет, и готовый код в браузер не отдается.
Название: Изменение value= у поля Input при изменении другого Input по OnChancg
Отправлено: covex1 от 21 Июня 2006, 16:37:25
Цитировать
html_coder:
Вот примерно так!



Решил идти с более простыз примеров. Написал таким образом:




















Однако ругается на myText(i). Как заставить подставлять значения i в сей текст, через цикл?. Пробывал alert(i); - все проходит.
Название: Изменение value= у поля Input при изменении другого Input по OnChancg
Отправлено: avb от 17 Июля 2006, 13:59:11
document.myForm1[\'myText\'+i].value ="1";
Название: Изменение value= у поля Input при изменении другого Input по OnChancg
Отправлено: covex1 от 17 Июля 2006, 14:07:01
document.myForm1[\'myText\'+i].value ="1";
Гуд! Спасибо!
Название: Изменение value= у поля Input при изменении другого Input по OnChancg
Отправлено: html_coder от 17 Июля 2006, 15:10:28
avb Не согласен с тобой

document.myForm1.elements[\'myText\'+i].value ="1";

Вот так вот правильно!
Название: Изменение value= у поля Input при изменении другого Input по OnChancg
Отправлено: html_coder от 17 Июля 2006, 15:13:39
Цитировать
covex1:
document.myForm1[\'myText\'+i].value ="1"; Гуд! Спасибо!



Работает только в IE!
Название: Изменение value= у поля Input при изменении другого Input по OnChancg
Отправлено: covex1 от 17 Июля 2006, 15:15:38
Работает только в IE!

А мне больше и не надо...
Название: Изменение value= у поля Input при изменении другого Input по OnChancg
Отправлено: html_coder от 17 Июля 2006, 15:19:38
Цитировать
covex1:
А мне больше и не надо...


А ну если так, то конечно. Мне честно говоря тоже.
Название: Изменение value= у поля Input при изменении другого Input по OnChancg
Отправлено: avb от 17 Июля 2006, 17:15:11
Цитировать
covex1:
avb Не согласен с тобой

document.myForm1.elements[\'myText\'+i].value ="1";

Вот так вот правильно!

 Согласен, но у меня
document.myForm1[\'myText\'+i].value ="1";
работает в Firefox 1.5.0.4, Opera 8.54, 9.00, IE 6