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


 




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


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

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