Forum Webscript.Ru

Программирование => JavaScript & JScript => Тема начата: kiruxa от 13 Июля 2006, 13:57:36

Название: детский вопрос
Отправлено: kiruxa от 13 Июля 2006, 13:57:36
Не пиннайте плиз подскажите такую вещь

У меня есть в масиве  имена полей в форме
хочу собрать все значения в строку,


function GetFormData()
{
qdat = document.getElementById(\'search_form\');
fieldsname=new Array ("Year","Make");
for (i=0; i{  fild = fieldsname[i];
   vall = vall + document.search_form.fild.value + "|";
}
}

 хочу в vall - перегнать значения полей в форме...
подкажите в чем баг  ...
Название: детский вопрос
Отправлено: html_coder от 13 Июля 2006, 16:02:54
Проблема в том, что fild это строка, а не свойство объекта form, тебе просто для обращения к полю надо использовать
document.search_form.elements[fild].value, тогда всё будет чётко работать!
Название: детский вопрос
Отправлено: kiruxa от 13 Июля 2006, 16:14:29
спасибо большое за помошь, но всеравно выдает ошибку:

document.search_form.elements[...].value
пишет есть null или не являеться обьектом

вот дословно код ...

function GetFormData()
{
vall="";
fieldsname=new Array ("Year","Make","Model","Type", "mileage", "cont_name","email_addr", "phone","comments","vin","price");
for (i=0; i {
  fild = fieldsname[i];
  vall = vall + document.search_form.elements[fild].value + "|";
}


document.getElementById(\'order_debug\').innerHTML = vall + \' || \' +   filds;
}
Название: детский вопрос
Отправлено: kiruxa от 13 Июля 2006, 16:17:47
Все заработало

html_coder  - спасибо огромное, просто в массиве одно поле отличалось от реального

спасибо за помощь.  :)
Название: детский вопрос
Отправлено: kiruxa от 18 Июля 2006, 12:37:28
и в догонку ...
 возникла такая проблема при считывании radio groupe


  1 week
 2 week


document.search_form.search_period.value  выдает undefined

подскажите как вытянуть выделенное значение?
Название: детский вопрос
Отправлено: html_coder от 18 Июля 2006, 14:45:35
document.search_form.search_period.value

i > 0
i < document.search_form.search_period.length
Название: детский вопрос
Отправлено: kiruxa от 21 Июля 2006, 17:01:32
еще раз в догонку к теме ....

сделал масив радиогрупов
optname=new Array ("PrimaryResidence", "HaveTradeIn","BillingType", "DeliveryType", "BillingType", "NotificationType");

каждое из них имеет по 3 элемента
пытаюсь из них сформировать строку с разделителями и не читаються элементы

  for (i=0; i   {
for (k=0; k<3; k++)
{
  opts = opts + document.Contact.[U]elements[optname[i],k].value [/U]+ "||"; }
 
  }


и читает элементы как пустые...

подскажите в чем баг


P.S. простите за назойливость и бестолковость....
Название: детский вопрос
Отправлено: html_coder от 21 Июля 2006, 19:46:41
Цитировать
kiruxa:
подскажите в чем баг


Ты не правильно обращаешься, вот что ты подчеркнул, это и не правильно, так в JS нельзя обращаться к массивам


opts = opts + document.Contact.elements[optname][k].value + "||";

Вот так должно сработать.