|
|
|
| Народ помогите разобраться вот с этим - Передача данных через Cookie.
Вот есть библиотека (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) из поля имя (name1) на первой странице (index.html) и передавалась на вторую popup страницу (result.html), скажем в пустую таблицу. Ниже соответственно index и result... в них я уже вставил "выполнить функции". Но скрипты пока не вставлял, т.к. это далее суть вопроса.
<html>
<script src="cookies.js">
</script>
<body>
<form name="forma1" action="???" method="post">
Ваше имя: <input name="name1" type="text" size="25"><br>
Выберите вариант: <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="javascript:window.open('result.html', '',
'Toolbar=0, Location=0, Directories=0,
Status=0, Menubar=1, Resizable=0,
Scrollbars=0, Copyhistory=1, Width=640,
Height=480, Top=0, Left=0');saveData();">
</form>
</body>
</html>
|
<html>
<script src="cookies.js"></script>
<body onLoad="readData()">
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="163">
<div align="right">Ваше имя: </div></td>
<td width="10"> </td>
<td width="333">Сюда нужно вставить имя</td> </tr>
<tr> <td> </td>
<td> </td>
<td> </td> </tr>
<tr> <td><div align="right">Вы выбрали вариант: </div></td>
<td> </td>
<td>Сюда нужно вставить выбранный вариант</td> </tr>
<tr> <td> </td>
<td> </td>
<td> </td>
</tr>
<tr> <td><div align="right">Ответ:</div></td>
<td> </td>
<td>А здесь вставить "мой ответ"</td>
</tr> </table> </body> </html>
|
Вопрос 1: Как правильно записать параметры:
var data = document.forms[0].userName.value;
setCookie("userName". data. expDate):
var data = getCookie("userName):
document.forms[0].username.value = data:
Вопрос 2:
В index.html есть тэг select, на каждую опцию стоит value.
Как сделать так, чтобы в поле "мой ответ" отразилось следующее:
if value="1num" - то отражалось например слово Привет!
if value="2num" - то Хело!
if value="3num" - то Бла-Бла!
Спасибо всем кто ответит. | |
|
|
|
|
|
|
|
для: stoutenko
(04.04.2007 в 14:07)
| | первый вопрос решен....
решил его другим способом... с помощью location.search....все работает.
А вот второй вопрос остается еще актуальным!!
С этим серьезная проблема, т.к. в JS не пендрю почти.
Подскажите как быть!
Мне предложили создать массив с ключами и значениями, только на словах (без примеров)
я так вроде понял, но написать все равно не могу.
Пока пошел вот таким путем:
<script language="JavaScript">
<!--
function read_select()
{
var msg
msg = document.location.getElementById("forma1").options[document.getElementById("forma1").selectedIndex].value);
if (msg=="num1") {document.write(unescape("Привет!"))}
else if (msg=="num2") {document.write(unescape("Хело!"))}
else if (msg=="num3") {document.write(unescape("Бла-бла!"))}
}
//-->
</script>
|
я понимаю что тут каша, прошу помочь.
Заранее спасибо. | |
|
|
|