Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как провереть получил я данные или нет в данном .. 
:(
    Опции темы
Mushu
Дата 10.9.2004, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: нет
Всего: -5



Как провереть получил я данные или нет в данном скрипте...?


Код

<!--
//отсылаем обьект {names: Array, values: Array}
function sendArray(cont) {
f=document.createElement("FORM");
document.body.appendChild(f);
f.action="otchet.php"; //куда
f.method="POST"; //как, лучше оставь POST
//f.target=""; //в какое окно
//f.enctype = "application/x-www-form-urlencoded";
for(var i=0; i<cont.names.length; i++) {
  if(cont.values[i]==null||cont.values[i]=="") continue; //пропустим пустые, если нужны убери
  var o=document.createElement("INPUT");
o.setAttribute("name",cont.names[i]+"[]");
o.setAttribute("value",cont.values[i]);
o.setAttribute("type","hidden");
f.appendChild(o);
}
f.submit();
}
//соберем все элементы формы
function getFormElements(form, parnt) {
var names=[],values=[];
for(var i=0; i<form.elements.length; i++) {
if(form.elements[i].checked ) {                              //|| form.elements[i].name == "razdell"

names[i]=(form.elements[i].name);
values[i]=(form.elements[i].value);
}
}
if(parnt) {
parnt.names=parnt.names.concat(names);
parnt.values=parnt.values.concat(values);
return parnt;
} else return {names: names, values: values};
}
//собственно остылаем
function sendForm() {
var obj1=getFormElements(document.forms.reg_ros_gods);  
var obj2=getFormElements(document.frames.framesx.document.forms.zapros2,obj1);
var cont=getFormElements(document.frames.framess.document.forms.zapros1,obj2);
sendArray(cont);
}


Надо узнать есть отмечанные(поставленные галки ) чексбокс в :
здесь document.forms.reg_ros_gods //1
здесь document.frames.framesx.document.forms.zapros2 //2
и здесь document.frames.framess.document.forms.zapros //3

если нету то вывести сообщение (ничего не выбрано в 1...3)


PM MAIL   Вверх
Sardar
Дата 10.9.2004, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Mushu хорошо что пользуешся поиском.
В cont ты получаешь обьект с полями names и values, мне просто было так удобно. Проверкой: form.elements[i].checked ты выберешь все отселектированные чекбоксы, следовательно:
Код
function sendForm() {
var obj1=getFormElements(document.forms.reg_ros_gods);
alert(obj1.names.length); //кол-во отсел. чек боксов в фоме reg_ros_gods
var obj2=getFormElements(document.frames.framesx.document.forms.zapros2);
alert(obj1.names.length); //кол-во отсел. чек боксов в фоме zapros2
....
//соберем все до кучи и отправим
sendArray({names: obj1.names.concat(obj2.names.concat(obj3.names)): values: obj1.values.concat(obj2.values.concat(obj3.values)) } );
}



--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Mushu
Дата 16.9.2004, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: нет
Всего: -5



Нефига не понил а паподробней можно
Добавлено @ 14:12
Если можно то полный исходник
PM MAIL   Вверх
Mushu
Дата 16.9.2004, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: нет
Всего: -5



Мне нужно если нет омеченных чекбоксов допустем в document.forms.reg_ros_gods
то вывести сообщение что вы в данном поле должны выбрать хоть один чекбокс
и анологично в другиз тоже самое

Это сообщение отредактировал(а) Mushu - 16.9.2004, 16:34
PM MAIL   Вверх
Sardar
Дата 17.9.2004, 00:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



На пальцах.
А вообще прежде чем спрашивать попробуй запускать скрипт wink.gif
Код
function sendForm() {
var obj1=getFormElements(document.forms.reg_ros_gods);
if(obj1.names.length<1) {
 alert("Слышь, попробуй сного,  выбери хоть один чекбокс");
 return false; //если использовал в onSubmit, то форма не отправится
}
//таким же макаром все остальное
//собери ассивы в обьектах до кучи в один
//sendArray({names: obj1.names.concat(obj2.names.concat(obj3.names)): values:obj1.values.concat(obj2.values.concat(obj3.values)) } );
sendArray(obj1);
}



--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Mushu
Дата 17.9.2004, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: нет
Всего: -5



Нет я пробую но он все время орет на эту строчку
sendArray({names: obj1.names.concat(obj2.names.concat(obj3.names)): values:obj1.values.concat(obj2.values.concat(obj3.values)) } );

Он выдает ошибку:
символ 67
предлагается наличие '}'


Пытался поставить скобку

PM MAIL   Вверх
Aliance
Дата 17.9.2004, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Mushu
Это строчка - комментарий!
// - символы комментария, на этом форуме выделены зеленым!
PM MAIL WWW ICQ Skype   Вверх
Mushu
Дата 20.9.2004, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: нет
Всего: -5



Aliance читай выше!!!
PM MAIL   Вверх
Sardar
Дата 20.9.2004, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Mushu елы палы... smile.gif
Код
function sendForm() {
var obj1=getFormElements(document.forms.reg_ros_gods);
if(obj1.names.length<1) {
alert("Слышь, попробуй сного,  выбери хоть один чекбокс");
return false; //если использовал в onSubmit, то форма не отправится
}
sendArray(obj1);
/** мы здесь отправили только одну форму, если нужно больше, то собери со всех форм элементы и соедини их в единые массивы, для примера смотри оригинальный код */
}



--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Mushu
Дата 21.9.2004, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: нет
Всего: -5



Это я понил спаибо работает
Уменя остался только один единственный так сказать варос



Код

function sendArray(cont) {
f=document.createElement("FORM");
document.body.appendChild(f);
f.action="otchet.php"; //куда
f.method="POST"; //как, лучше оставь POST
//f.target=""; //в какое окно
//f.enctype = "application/x-www-form-urlencoded";
for(var i=0; i<cont.names.length; i++) {
if(cont.values[i]==null||cont.values[i]=="") continue; //пропустим пустые, если нужны убери
var o=document.createElement("INPUT");
o.setAttribute("name",cont.names[i]+"[]");
o.setAttribute("value",cont.values[i]);
o.setAttribute("type","hidden");
f.appendChild(o);
}
f.submit();
}

Что здесь надо вставить или прописать чтоб он когда состовлет форму для отправки
туда добавил
вот эту строчку
Код

<input type="hidden" name="PHPSESSID" value="<?print"$SID";?>" />

PM MAIL   Вверх
Aliance
Дата 21.9.2004, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Цитата(Mushu @ 21.9.2004, 16:41)
var o=document.createElement("INPUT");
o.setAttribute("name",cont.names[i]+"[]");
o.setAttribute("value",cont.values[i]);
o.setAttribute("type","hidden");
f.appendChild(o);

Хм, задаем вопрос и сами на него отвчеаем, умно-умно thumbs-up.gif


Цитата(Mushu @ 20.9.2004, 10:59)
Aliance читай выше!!!

Собственно, Sardar и сделал то, о чем я писал: убрал комменты :-) Зачем мне читать выше - не понятно
withstupid.gif
PM MAIL WWW ICQ Skype   Вверх
Sardar
Дата 21.9.2004, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(Mushu @ 21.9.2004, 15:41)
Что здесь надо вставить или прописать чтоб он когда состовлет форму для отправки туда добавил вот эту строчку

Надо подредакторвать функцию сбора элементов, что бы она взяла не только чекбоксы и радиобаттоны, но и твой ИД сессии:
Код
//соберем все элементы формы
function getFormElements(form, parnt) {
var names=[],values=[];
for(var i=0; i<form.elements.length; i++) {
if(form.elements[i].checked || form.elements[i].name=="PHPSESSID") {
names[i]=(form.elements[i].name);
values[i]=(form.elements[i].value);
}
}


А вообще лучше разом дай весь код, посмотрим, подумаем, напишем wink.gif


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Mushu
Дата 22.9.2004, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: нет
Всего: -5



Фишка в том я забыл тебе сказать что PHPSESSID надо отсылать один

Там при зборе всех форм их буде 3 а нужен один



Это сообщение отредактировал(а) Mushu - 22.9.2004, 11:48
PM MAIL   Вверх
Mushu
Дата 22.9.2004, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: нет
Всего: -5



И всетка можно в самом джаваскрипте вставить строку которая будет содержать PHPSESSID
потому что всеравно страница генерируется с помошью пшп а небрать ее с форм..?

Потомучто так будет намного удобнеей

Вот именно в этом блоке

Код


//отсылаем обьект {names: Array, values: Array}
function sendArray(cont) {
f=document.createElement("FORM");
document.body.appendChild(f);
f.action="otchet.php"; //куда
f.method="POST"; //как, лучше оставь POST
//f.target=""; //в какое окно
//f.enctype = "application/x-www-form-urlencoded";
for(var i=0; i<cont.names.length; i++) {
 if(cont.values[i]==null||cont.values[i]=="") continue; //пропустим пустые, если нужны убери
  var o=document.createElement("INPUT");
o.setAttribute("name",cont.names[i]+"[]");
o.setAttribute("value",cont.values[i]);
o.setAttribute("type","hidden");
f.appendChild(o);
}
f.submit();
}


Это сообщение отредактировал(а) Mushu - 22.9.2004, 12:19
PM MAIL   Вверх
Mushu
Дата 22.9.2004, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: нет
Всего: -5



Есть еще один вапрос как проверить
obj2 получила значение из document.frames.framess.document.forms.zapros1

Код

obj2=getFormElements(document.frames.framess.document.forms.zapros1);


Это сообщение отредактировал(а) Mushu - 22.9.2004, 13:47
PM MAIL   Вверх
Sardar
Дата 22.9.2004, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(Mushu @ 22.9.2004, 10:51)
И всетка можно в самом джаваскрипте вставить строку которая будет содержать PHPSESSID потому что всеравно страница генерируется с помошью пшп а небрать ее с форм..?

Передавай GET'ом:
Код
f.action="otchet.php?PHPSESSID=<?=$SID ?>";

Цитата(Mushu @ 22.9.2004, 12:46)
как проверить obj2 получила значение из document.frames.framess.document.forms.zapros1

Проверь что лежит в obj2.names, в массиве лежит все что подошло по условию в функции getFormElements


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Mushu
Дата 23.9.2004, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: нет
Всего: -5



Sardar это я уже расматривал это нето что мне нужно


нужно вот что

Здесь спомошь джаваскритп создается форма которыя все значения отсылат


Код


function sendArray(cont) {
f=document.createElement("FORM");
document.body.appendChild(f);
f.action="otchet.php"; //куда
f.method="POST"; //как, лучше оставь POST

//f.target=""; //в какое окно
//f.enctype = "application/x-www-form-urlencoded";
for(var i=0; i<cont.names.length; i++) {
 if(cont.values[i]==null||cont.values[i]=="") continue; //пропустим пустые, если нужны убери
  var o=document.createElement("INPUT");
o.setAttribute("name",cont.names[i]+"[]");
o.setAttribute("value",cont.values[i]);
o.setAttribute("type","hidden");
f.appendChild(o);
}
f.submit();
}


и сюда надо втыкнуть переменную которая добовляла значение(содержание ) этой переменной когда создает
форму с хиданами.

вот что надо добавить например пер. poslat = "<input type="hidden" name="PHPSESSID" value="a50668b32c51ceb1e0d60eb4c696af08" />";
и предусмотреть чтоб по этой технологии можно было добавить еще 3 переменные как переменную poslat

Это сообщение отредактировал(а) Mushu - 23.9.2004, 14:49
PM MAIL   Вверх
Mushu
Дата 23.9.2004, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: нет
Всего: -5



Насчет проверки obj2 делаю проверку не получается


Код

var obj2=getFormElements(document.frames.framess.document.forms.zapros1);
if(obj2.names.length<1 && obj2.names.name=="marki") {
  alert("Выберети хотябы один показаель");
  return false;
}


Это сообщение отредактировал(а) Mushu - 23.9.2004, 15:36
PM MAIL   Вверх
Aliance
Дата 23.9.2004, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Хм...насколько мне известно,
Обращение в фрейму: window.frames["Имя_Фрейма"]. ...
Обращение в форме: document.forms["Имя_Формы"]. ...
В твоем случаи:
window.frames["framess"].forms["zapros1"]

Это сообщение отредактировал(а) Aliance - 23.9.2004, 21:49
PM MAIL WWW ICQ Skype   Вверх
Sardar
Дата 23.9.2004, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Mushu звиняй, но ты по моему просто от нечего делать прикалываешся над народом...
Функция sendArray создает новую единую форму в которую набиваются данные из других форм, затем форма отсылается. Это большой изврат, но на это были свои причины, зачем это тебе нужно, мне не ясно.
Цитата(Mushu @ 23.9.2004, 13:15)
вот что надо добавить например пер. poslat = "<input type="hidden" name="PHPSESSID" value="a50668b32c51ceb1e0d60eb4c696af08" />"; и предусмотреть чтоб по этой технологии можно было добавить еще 3 переменные как переменную poslat

В функцию ты передаешь обьект содержащий два массива: имена и значения. Не тупи, просто добавь все что хочешь в эти массивы и будет тебе счастье:
Код
cont.names.push("PHPSESSID");
cont.values.push("a50668b32c51ceb1e0d60eb4c696af08");

Теперь скрытое поле с именем PHPSESSID отправится вместе с другими полями.
Цитата(Mushu @ 23.9.2004, 14:21)
Насчет проверки obj2 делаю проверку не получается

Подумай хорошенько что ты сделал, откуда появляется поле name? Кстати массив в этот момент пустой wink.gif


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Mushu
Дата 24.9.2004, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: нет
Всего: -5



Не я не прикалываюсь я хочу понять и разобраться.
PM MAIL   Вверх
Mushu
Дата 27.9.2004, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: нет
Всего: -5



Куда это надо добовлять...?
Судя по этому примеру мыдобовляем в один массив или я не прав..?

Код

cont.names[cont.names.length]="PHPSESSID";
cont.names[cont.names.length]="a50668b32c51ceb1e0d60eb4c696af08";

М
 
Да, ты прав, уже исправил свою ошибку =)

PM MAIL   Вверх
Mushu
Дата 27.9.2004, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: нет
Всего: -5



Я разобрался как добовлять сесси в масив но тут одна прикольная вешь произошла
при создание формы для отсылки он генерирут примерно так

Код

<FORM method="Post" action="otchet.php">
<INPUT TYPE="CHECKBOX" NAME[]="reg_ros_god" value="2000">
и тд.

</FORM>



в этом скрипте
Код


//отсылаем обьект {names: Array, values: Array}
function sendArray(cont) {
f=document.createElement("FORM");
document.body.appendChild(f);
f.action="otchet.php"; //куда
f.method="POST"; //как, лучше оставь POST
//f.target=""; //в какое окно
//f.enctype = "application/x-www-form-urlencoded";
for(var i=0; i<cont.names.length; i++) {
  if(cont.values[i]==null||cont.values[i]=="") continue; //пропустим пустые, если нужны убери
  var o=document.createElement("INPUT");
o.setAttribute("name",cont.names[i]+"[]");
o.setAttribute("value",cont.values[i]);
o.setAttribute("type","hidden");
f.appendChild(o);
}
f.submit();
}


а надо чтоб он смог добавить хидет
чтоб он выгледил вот так
Код

<input type="hidden" name="PHPSESSID" value="b4c26b66aec91d4e6f5eba0225bc47fe" />

без []"квадратных скобках" посли имени где хронится PHPSESSID
тогда СИД работать будет , а так неработает

что нужно изменить в скрипте, пожалуйста полнустью опиши пример который будет это делать


PM MAIL   Вверх
Mushu
Дата 27.9.2004, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: нет
Всего: -5



Я нифига не понил как зделать проверку obj2

ХЕЛП обьясните тупому (перерыл док+справочник так и непонил как зделать проверку)



Я неприкалываюсь я хочу понять.. Помогите !!!!

PM MAIL   Вверх
Sardar
Дата 28.9.2004, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Просто в предидущей задаче нужно было отправить массив значений на PHP, следовательно имена генерились: name="elementname[]"
Если ты уверен что дублирующихся имен у тебя в формах нет, то подредактируем строку:
Код
o.setAttribute("name",cont.names[i]+"[]");
//замени на
o.setAttribute("name",cont.names[i]);

Результатом будет: name="elementname"

Теперь вставим сессию:
Код
name.push("PHPSESSID"); //имеем в именах имя сессии
values.push("b4c26b66aec91d4e6f5eba0225bc47fe"); //а в значениях значение =)

Результатом получим: $_POST["PHPSESSID"]="b4c26b66aec91d4e6f5eba0225bc47fe"

Теперь о проверке. Эмоции в соторону, врубаем соображалку на полную, вопрос детский wink.gif
Функция getFormElements принимает ссыку на форму, из этой формы будут добыты определенные значения. Эти значения в последствии будут отправленны на сервер. Медитируем...
Если что то должно быть отправленно на север, а этого нет, то мы должны поматерится на юзера. Медитируем...
Если в обьекте возвращеном функцией getFormElements пустые массивы names и values, то значит нам нечего отправлять на сервер. Если нирвана еще далеко, то читаем предидущий пункт.
Следовательно если массивы names и values пусты, то материмся на юзера и предлагаем ему повтроить попытку.
Код

if(form_elements.names.length<1) alert("Не морочь голову, выбери хоть что нибудь");
Нирвана smile.gif

Функция принимает собранные данные с предидущей формы во втором аргументе, что бы собрать все до кучи. Например:
Код
var form_elements = getFormElements(document.forms.MyForm); //собрали данные с первой формы
form_elements = getFormElements(document.forms.MySecondForm, form_elements);
//собрали данные со второй формы и добавили их к предидиущим собраным даным


А теперь скажи что тебе не понятно и я застрелюсь biggrin.gif


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Aliance
Дата 28.9.2004, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Цитата(Sardar @ 28.9.2004, 00:01)
А теперь скажи что тебе не понятно и я застрелюсь

biggrin.gif biggrin.gif biggrin.gif
PM MAIL WWW ICQ Skype   Вверх
Mushu
Дата 28.9.2004, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: нет
Всего: -5



Мне непонятно
дапустим есть токая строка
var obj2= document.frames.framess.document.forms.zapros1
где document.frames.framess.document.forms.zapros1(примерно это адресс где хронятся формы и тд это неважно)
мне нужно зделать проверку правильно что obj2 получила действительнный адрес (который есть на самом деле)
PM MAIL   Вверх
Aliance
Дата 28.9.2004, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Цитата(Mushu @ 28.9.2004, 15:31)
Мне непонятно

Sardar, You`re welcome... biggrin.gif biggrin.gif biggrin.gif
PM MAIL WWW ICQ Skype   Вверх
Sardar
Дата 28.9.2004, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Mushu ты явно угараешь над нами biggrin.gif
Цитата(Mushu @ 28.9.2004, 14:31)
дапустим есть токая строка var obj2= document.frames.framess.document.forms.zapros1 где document.frames.framess.document.forms.zapros1(примерно это адресс где хронятся формы и тд это неважно) мне нужно зделать проверку правильно что obj2 получила действительнный адрес (который есть на самом деле)

Путь до формы ты придумал сам... Ты себе не доверяешь? biggrin.gif
Проверка:
Код
if(document.frames.framess&&document.frames.framess.document.forms.zapros1) {
//здесь с чистой совестью делаем полезную работу
}

Или я тебя не правильно понял.. wink.gif


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Mushu
Дата 29.9.2004, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: нет
Всего: -5



Такая проверка не работает

Код

if(document.frames.framess&&document.frames.framess.document.forms.zapros1) {
//здесь с чистой совестью делаем полезную работу
}



Я поесню для чего она нужна уменя на индексной странице есть селект и ифрем вот проверка нужна для того чтоб проверить выбрал он чегонибудь в селекте и загрузилась форма в ифрейм чтоб в дальнейшем можно было собрать данные с формы
PM MAIL   Вверх
Sardar
Дата 29.9.2004, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Сразу бы так сказал, а то клещами выужваем из тебя правду smile.gif
А вообще выражение: "так не работает" - абсолютно не информативно, пиши конретно что за ошибки и сложности.

Если во фрейме документ с твоего домена, то ты имеешь к нему доступ. Опрашивать форму не очень хорошо, лучше написать функцию во фрейме, которая выдаст нам все свои поля.
Код
//если существует функция, значит страница может дать нам данные
if(document.frames.framess.getFormData) {
  data = document.frames.framess.getFormData(/*возможно передашь параметры*/);
//на этом этапе имеем данные с формы на странице.
} else data=null; //мол нет на странице формы
//.................
//функция во фрейме
function getFormData() {
return (parent.getFormElements)? parent.getFormElements(document.forms.zapros1): null;
/*сия строчка означает: если у родителья есть наша ранее написанная функция,
по сбору элементов, то юзай ее на нашей форме, иначе null - типа ты левая страница.
Впрочем код getFormElements можешь скопировать во фрейм, тогда никаких проверок не нужно... но подход не научный =),  дублирующийся код */
}




--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Mushu
Дата 8.10.2004, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: нет
Всего: -5



Буду разбераться

PM MAIL   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1234 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.