formのselectの一覧からCookieへ書き込んで読み込むには?

[上に] [前に] [次に]
きさら [E-Mail] 1999/11/26(金) 11:12:52
こんにちは。いつもお世話になってます。

またまたお世話になりたいのですが、
今度クッキーを使って制御したいのですが、
下記のようなプログラムを書きました。


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=x-sjis">
<title></title>
<script language="JavaScript">

<!--
    function jump_search(){
        document.sch_jump.submit();
    }
// -->

</script>
<script language="JavaScript">
<!--

function loading(){
    name = getCookie("Name");
    document.form1.c_kojin_id.value = name;
}
function cookieinput(){
    setCookie("Name", document.form1.c_kojin_id.value);
}

function getCookie(key,  tmp1, tmp2, xx1, xx2, xx3) {
    tmp1 = " " + document.cookie + ";";
    xx1 = xx2 = 0;
    len = tmp1.length;
    while (xx1 < len) {
        xx2 = tmp1.indexOf(";", xx1);
        tmp2 = tmp1.substring(xx1 + 1, xx2);
        xx3 = tmp2.indexOf("=");
        if (tmp2.substring(0, xx3) == key) {
            return(unescape(tmp2.substring(xx3 + 1, xx2 - xx1 - 1)));
        }
        xx1 = xx2 + 1;
    }
    return("");
}

function setCookie(key, val, tmp) {
    tmp = key + "=" + escape(val) + "; ";
    tmp += "expires=Fri, 31-Dec-2030 23:59:59; ";
    document.cookie = tmp;
}
// -->
</script>

</head>

<body bgcolor="#F0F4FF" background="/image/bgextra.gif" onLoad="loading()">
<p align="center"> </p>
<p align="center"><strong> </strong></p>
<p align="center"><strong><font color="#0080FF">本システムを利用するには、まずログインする必要があります。<br>
あなたの名前を選んで「ログイン」ボタンを押してください。</font></strong></p>

<hr size=1" width="500">
<center>
<!-- c_tokuyaku_cd -> XXXX -->
<form action="test.html" method="get" name="form1">
<p align="center">ユーザーグループ:  XX</p>
<select name="c_kojin_id" size="1">
<option value="001">後藤</option>
<option value="003">久万</option>
<option value="002">斉藤</option>
<option value="004">近藤</option>
</select></p>
<p align="center"><input type="submit" value="ログイン" onClick="cookieinput()">
</p>
<input type="hidden" name="c_tokuyaku_cd" value="XXXX">
</form>
<center>
<hr>

</body>
</html>

これで一応動くのですが、
なぜかネスケでは動きませんでした。

私がしたいことは、ログイン画面で自分の名前を選んで
入った時に、onClickでcookieに書き込んで、
次に来た時にリストの中から自分の名前を選択してある状態にしたいのです。

JavaScriptの部分は、過去のラウンジを検索していたら、
Auraiさんが発言なさってた時のスクリプトをお借りしました。

それではよろしくお願いします。

Nobu3 1999/11/26(金) 12:37:20
「document.form1.c_kojin_id.value」
というのを、
「document.form1.c_kojin_id.selectedIndex」
に変更すれば動きそうですが・・・。

きさら 1999/11/26(金) 13:18:45
ありがとうございました。

>「document.form1.c_kojin_id.value」
>というのを、
>「document.form1.c_kojin_id.selectedIndex」
>に変更すれば動きそうですが・・・。

上記の方法で解決しました。
わたしJavaScriptとCookie(特にCookie)は、初心者なのでわからないので教えて欲しいのですが、
なぜ、上記の対応で解決したんでしょうか・・・?
今後の参考までに教えて下さい。

Nobu3 1999/11/26(金) 14:17:59
クッキーは関係ないです。
「<select>」の選択項目を、JavaScriptで「汎用的に」操作するときは、
「value」ではなく「selectedIndex」を使うということです。

詳しく知りたいなら「selectedIndex」で検索すると参考になるものがたくさん出るでしょう。

[上に] [前に] [次に]