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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача данных из формы. в форму на др. странице 
:(
    Опции темы
stoutenko
Дата 3.4.2007, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Помогите разобраться. Вот есть такая форма ...модератор:  (здесь была "лажа")...

Во второй форме не прописал ниче кроме имя, мож нужно также как и в первой. Прописал Disable в input,  чтоб не писали ничего в нем. Или кукисы не правильно передаю..хз(
В форуме вроде много похожих тем, но все чето не то! Если кто знает что такая же тема приблизительная уже есть, кинте ссылку плиз (тады оффтопик).
Заранее спасибо.

Это сообщение отредактировал(а) 12345c - 27.4.2007, 21:32
PM MAIL   Вверх
stoutenko
Дата 4.4.2007, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Все что написано сверху....лажа...и работать не будет..я понял.

Народ помогите разобраться вот с этим - Передача данных через Cookie.
Это же все-таки форум JS для начинающих!
----------------------------------------------------------------------------------------------------
Вот есть библиотека (cookies.js):

Код

function getExpDate(days, hours, minutes) {
var expDate = new Date():
if (typeof days =="number" && typeof hours == "number" && typeof hours == "number") {
expDate.setDate(expDate.getDate() + parseInt(days)):
expDate.setHours(expDate.getHours() + parselnt(hours)):
expDate.setMinutes(expDate.getMinutes() + parselnt(minutes)):
return expDate.toGMTString();
}
}

function getCookieVal(offset) {
var endstr = document.cookie.indexOf (":", offset);
if (endstr == 1) {
endstr = document.cookie.length:
}
return unescape(document.cookie.substring(offset. endstr));
}

function getCookie(name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring^, j) == arg) {
return getCookieVal(j):
}
i = document.cookie.indexOf(" ". i) + 1;
if (i == 0) break:
}
return null;
}

function setCookie(name, value, expires, path, domain. secure) {
document.cookie = name + "=" + escape (value) +
((expires) ? ": expires=" + expires : "") +
((path) ? ": path=" + path : "") +
((domain) ? ": domain=" + domain : "") +
((secure) ? ": secure" : "");
}

function deleteCookie(name.path.domain) {
if (getCookie(name)) {
document.cookie = name + "=" +
((path) ? ": path=" + path : "") +
((domain) ? ": domain=" + domain : "") +
";expires=Thu. 01 Jan 70 00:00:01 GMT";
}
}


И вот такие 2 функции.

Код

<script type="text/javascript" src="cookies.js"></script>
<script language="JavaScript" type="text/javascript">
function saveData() {
var data = document.forms[0].userName.value;
var expDate = getExpDate(180. 0. 0):
setCookie("userName". data. expDate):
}
</script>
<body onunload="saveData()">


Код

<script type="text/javascript" src="cookies.js"></script>
<script language="JavaScript" type="text/javascript">
function readData() {
var data = getCookie("userName):
document.forms[0].username.value = data:
}
</script>
<body onload="readData()">


Вроде как бы все понятно. Библиотека cookies.js реализует функции записи, чтения кукисов и время их хранения. 2 функции снизу тоже вроде ясно, что одна выполняет функцию запись куки, а вторая чтение. Вопрос в том как правильно написать чтобы дата записывалась из формы (forma1) из поля имя (user_name) (из 1-го поста) на первой странице и передавалась на вторую страницу, скажем в пустую таблицу.
Обычно я делал чтото типа:

Код

<table width="200" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><script language="JavaScript">
readData();
</script></td>
  </tr>
</table>


а сам скрипт был на этой же странице выше. Единственное там присутствовал параметр или как там он называется... window.write();
Как здесь правильно написать? - document.forms[0].userName.value;
document.forms[0].username.value = data;

Спасибо всем кто ответит.
PM MAIL   Вверх
Sardar
Дата 4.4.2007, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


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

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



Не используй forms[индекс], без причины привязываешься к вёрстке, много глюков будет при последующей модификации страницы. Дай главной форме аттрибут id="chto_nibud" и забирай её через document.getElementById("chto_nibud").elements.userName.

Вместо точек используй запятые, ',', точка это обращение к полям объекта. В остальном должно работать.



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


Новичок



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

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



Sardar я решил пойти путем передачи данных через location.search, вроде бы все получилось, но вот застрял на такой вот штуке.

Есть форма, в ней есть тэг select, на каждую опцию стоит value.

<form name="forma1" method="post">
Выберите вариант: <select name="userchose" size="1">
        <option value="1num">Вариант 1</option>
        <option value="2num">Вариант 2</option>
        <option value="3num">Вариант 3</option>
      </select><br>
<input name="ok-button" type="submit" value="Послать" onClick="NewWin();">
</form>
...при сабмите выполняется функция window.open и location... ну это понятно...

Как сделать так, чтобы на странице на которую передаю отразилось (в таблице или в div) следующее:

if value="1num" - то отражалось например слово Привет!
if value="2num" - то Хело!
if value="3num" - то Бла-Бла!

...в поисковике не могу найти, незнаю как правильно поставить вопрос, в других форумах говорят:

<<делать ассоциативный массив, ключами в котором будут 1num, 2num..., а значенями - нужные строки ("Привет!", "Хело!"), получать индекс выделенного элемента в селекте при сабмите, находить его value и выбирать по нему нужную вам строку из заранее созданного массива. Полученную строку цеплять туда же, к адресу.>>

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

Добавлено через 10 минут и 42 секунды
Да еще почему то при передаче данных в другую страницу в IE пишет по-русски нормально, а в Мозилле - код, типа: %EF%F0%E8%E2%E5%F2, вместо "Привет" и везде пробелы заменяет на - %20. Как быть, кто подскажет?
на родительской странице и на дочерней стоит кодировка вин1251 в мета тэге. менял. не помогло.
при отправке в поле input ставил charset=windows-1251 и KOI8-R и utf-8. не помогло.
Может надо в самом скрипте писать кодировку. только я не знаю как подскажите плиз!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




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


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

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