汎用性のある都道府県連動・市/郡セレクタです。
第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();"> |