Автор Тема: Изменение value= у поля Input при изменении другого Input по OnChancg  (Прочитано 12567 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн covex1

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 63
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
JavaScript = 0 (абсолютный 0)

Есть форма:










.

.

.

.






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

Ногами не бейте - ни чего не могу на JavaScript.

Оффлайн html_coder

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 427
  • +0/-0
  • 0
    • Просмотр профиля
Чтобы не быть 0, надо зайти и почитать вот сюда
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;
	
}
}


Код не проверял!

Оффлайн covex1

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 63
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Цитировать
html_coder:
Если ......


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




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

а, в функции test() преобразую строчку
var input_elements = form_element.getElementsByTagName(\'input\'); в var input_elements = form_element.getElementById(\'my_fields\');, то все получится.
Однако не получилось, пишет Объект не поддерживает это свойство или метод.
Чего мне надо дописать что бы определенные поля принимали значение, а не все подрят вплоть до Submit?

Оффлайн html_coder

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 427
  • +0/-0
  • 0
    • Просмотр профиля
Можешь попробовать например так


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; //Проставляем значения
        }
    }
}

Оффлайн html_coder

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 427
  • +0/-0
  • 0
    • Просмотр профиля
Цитировать
covex1:
var input_elements = form_element.getElementsByTagName(\'input\'); в var input_elements = form_element.getElementById(\'my_fields\');, то все получится.

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

И вообще написанное тобой полный бред, поскольку document.getElementById(id); метод объекта document!!!!

Оффлайн covex1

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 63
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Цитировать
html_coder:
Я же говорю, что проще обратиться к документации


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

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


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

Оффлайн html_coder

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 427
  • +0/-0
  • 0
    • Просмотр профиля
Цитировать
covex1:
Не нашел ни одного учебника, где-бы доходчиво простому ламеру с нуля начали объяснять что такое javascript. Посоветуй?


А того что есть
здесь тебе мало?

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

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


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

Оффлайн covex1

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 63
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Цитировать
html_coder:
А того что есть
здесь тебе мало?


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


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


По любому критерию, который можно привязать в полю Input.
Скажем .

Оффлайн html_coder

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 427
  • +0/-0
  • 0
    • Просмотр профиля
Цитировать
covex1:
Если честно, то тут обсуждение, а не полнофункциональное обучение. Буду искать дальше.


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

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

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





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

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

Вот примерно так!

Оффлайн covex1

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 63
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Цитировать
html_coder:
Да но при этом ты проосишь готового решения


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



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


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

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

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

Для меня задача на 3 минуты - для других 3 недели.

Оффлайн html_coder

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 427
  • +0/-0
  • 0
    • Просмотр профиля
Цитировать
covex1:
Конечно, я не разделяю слова объект, свойство и метод. Я не знаю этих понятий!!!


Извини, больше ни чем не могу тебе помочь! Действительно здесь обсуждение, жди, может кто-то напишет её за тебя, недели через три а может и раньше.

Оффлайн covex1

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 63
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Ок. Буду ждать. Т.к. убивать 3 месяца на обучение мне ни кто недаст.
Люди!!! Help!!!!

Оффлайн hanslinger

  • H2Oer
  • Ветеран
  • *****
  • Сообщений: 1148
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.orava.ru
Конечно. Ждать — самое продуктивное. Поисковики вымерли, ссылок на этом форуме на разжеванную документацию нет, и готовый код в браузер не отдается.

Оффлайн covex1

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 63
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Цитировать
html_coder:
Вот примерно так!



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




















Однако ругается на myText(i). Как заставить подставлять значения i в сей текст, через цикл?. Пробывал alert(i); - все проходит.

Оффлайн avb

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 22
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
document.myForm1[\'myText\'+i].value ="1";

 

Sitemap 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 28