汎用性のある都道府県連動・市/郡セレクタです。
第1項目で選択されたOPTIONに連動して第2項目が変更されます。
JavaScriptがOFFの場合には第2項目の表示が変わらないので
メッセージが表示するようにしています。
onloadのform_init()関数の引数は、
第1:form名
第2:都道府県のselect名(element名)
第3:市・郡のselect名(element名)
第4:DIVのID(Ver2.0で追加)
第5:valueフラグ
第5のValueフラグは"0"で「都道府県・市/郡」の名称そのまま、"1"で該当コードになります。
(余談ですが、フラグ=1では無線などで地域を表すJCC/JCGコードそのものです。)
外部スクリプト"jccgdata.js(20471B)にスクリプトを集約しているので汎用的に使用できます。
JavaScriptでのvalueの取得の仕方はこのページのスクリプトを参考にして下さい。
※都道府県・市・郡の名称やコード、その他で間違いやおかしいところが有りましたらお知らせ下さい。
IE5.0、NN4.7、NN6.0、OPERA6.0以上で動作
(※NN4.7,OPERA6.0では空白リストが含まれます)
★このページにある関数スクリプト(function send(){ })の次に以下を追加します。
function getcookie(){
cookie_name = 'select_data=';
cookie_string=document.cookie+';';
start_position=cookie_string.indexOf(cookie_name,0);
if (start_position!=-1) {
end_position=cookie_string.indexOf(';',start_position);
key_str = unescape(cookie_string.substring(start_position+cookie_name.length,end_position));
sp_key = key_str.split(":");
sp_key[0] *= 1;
sp_key[1] *= 1;
document.forms[form_name].elements[select_name1].options[sp_key[0]].selected = true;
chang_option();
document.forms[form_name].elements[select_name2].options[sp_key[1]].selected = true;
document.cookie="select_data=;expires=Thu, 01-Jan-70 00:00:01 GMT";
return true;
}
}
function setCookie(){
key_str = document.forms[form_name].elements[select_name1].selectedIndex;
key_str += ":"+document.forms[form_name].elements[select_name2].selectedIndex;
exptime = new Date();
exptime.setTime(exptime.getTime()+60*60*1000); // "1000"の値はcookieの有効時間(この場合1時間)
data_set = "select_data="+escape(key_str)+";expires=" + exptime.toGMTString() + ";";
document.cookie=data_set;
return true;
}
★<BODY>内のonloadの関数を以下のように追記します。 <BODY onLoad="form_init('form1','level1','level2','sel2',0);getcookie();" bgcolor=white> ★form の部分にも関数を追記します。 <form name="form1" method="get" action="dummy.cgi" onsubmit="setCookie();"> |