パスワードでリンクさせる(パスワードを保存)
5・6年生にもわかるやさしいJavaScript」のメニュー「パスワードでリンクさせてみよう」のソースを改良して、パスワードの保存ができるようにしました(cookieを使っています)

secret と入力して、ENTER ボタンを押してみてください。

ソース
<html>
<head>
<SCRIPT LANGUAGE="JavaScript">
<!--
function tempCookie(theName__,theValue__)
{
if ((theNmae != null) && (theValue__ != null))
{
document.cookie = theName__ + "="+theValue__;
return true;
}
return false;
}
function setCookie(theName__,theValue__,theDay__)
{
if ((theName__ != null) && (theValue__ != null))
{
var expDay__ = "Wed, 01 Jan 2020 18:56:35 GMT";
if (theDay__ != null)
{
theDay__ = eval(theDay__);
var setDay = new Date();
setDay.setTime(setDay.getTime()+(theDay__*1000*60*60*24));
expDay__ = setDay.toGMTString();
}
document.cookie = theName__ + "="+escape(theValue__)+";expires="+expDay__;
return true;
}
return false;
}
function deleteCookie(theName__)
{
document.cookie = theName__ + "=;expires=Thu,01-Jan-70 00:00:01 GMT";
return true;
}
function getCookie(theName__)
{
theName__ += "=";
theCookie__ = document.cookie+";";
start__ = theCookie__.indexOf(theName__);
if (start__ != -1)
{
end__ = theCookie__.indexOf(";",start__);
return unescape(theCookie__.substring(start__+theName__.length,end__));
}
return false;
}
//-->
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
<!--
function GetPass(){
MyPass=unescape(getCookie("mypass"));
document.pass.word.value=MyPass;
if (MyPass=="false"){
document.pass.word.value="";
}
}
function PassLink2(){
MyDay=120;
MyPass=escape(document.pass.word.value);
setCookie("mypass",MyPass,MyDay);
PassWord=document.pass.word.value;
if (PassWord==""){
alert("パスワードを入力してください");
}else{
location.href=""+PassWord+".html";
}
}
//-->
</SCRIPT>
</head>
<body onload="GetPass()">
<FORM name="pass">
<INPUT type="password" name="word" size="18">
<INPUT type="button" value="ENTER" onClick="PassLink2()">
<INPUT type="reset" value="RESET" onClick="deleteCookie('mypass')"> 
</FORM> 
</body>
</html>
ENTER ボタンを押すと、入力したパスワードが自動的に保存されます。保存する期間は120日間で、ソースの MyDay = 120; のところで設定をしています。(下から21行目のところ)

RESET ボタンを押すと、保存してあるパスワードを消去します。このボタンが必要ない場合は、ソースの次の部分を削除してください。(下から4行目のところ)

<INPUT type="reset" value="RESET" onClick="deleteCookie('mypass')">

JavaScript GarageのTopへ戻る