牛、豚、鶏、どれか一つ食べられなくなるとしたら?

パスワードを入力させて、別のページにジャンプする簡易的なページを製作したいです。
現在以下のようにしているのですが、2つほどここに機能を追加したいです。

1.パスワード入力後、入力欄でエンターすると、ボタンを押さなくてもにジャンプするようにする。
2.下記の内容だと、複数ジャンプ先を設定したい場合、フォームページを
 複数用意する必要があるので、このページを開いた際のURLが
 login.html?page=a だったら a.html に
 login.html?page=b だったら b.html に
 ということがしたいです。

ご教授の程、よろしくお願いいたします。

■フォームページ login.html
 パスワードがあっていれば、a.htmlにジャンプ

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio …
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="jp" lang="jp">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="content-script-type" content="text/javascript" />
<meta http-equiv="content-style-type" content="text/css" />
<title>テスト</title>
<script src="pass.js" type ="text/javascript"></script>
</head>
<body>
<form name="form1">
<input type="password" name="pass" size="20"><br />
<input type="button" name="btn_submit" value="" style="background:url('button.jpg');width:100px;height:30px;border:0px solid;cursor:pointer;" onClick="Check1()" />
</form>
</body>
</html>


■pass.jsの内容

i=0;
function Check1(){
i++;
p="password";
p2="Password";
wo=document.form1.pass.value;
if(wo==p){location.href="a.html";}
else if(wo==p2){location.href="a.html";
}else{
alert("パスワードが異なります");
document.form1.pass.value="";
if(i>=10){location.href="index.html";}
}
}

※10回間違うと所定のページに飛ばす(ここではindex.html)

A 回答 (1件)

Q1:


 HTMLのformタグ
 <form name="form1">
 を
 <form name="form1" onSubmit="Check1(); return false;" >
 のようにする。

Q2:
 pass.jsの先頭に
// --------------------------------------------------------
var nPOS = document.URL.indexOf("?");
var sP = document.URL.substr(nPOS);// URLの?以降を切取り

var sTargetHtml = "a.html";// 指定が無い場合などのデフォルト

sP.match(/[\?|\&]page=([^\&]*)/);// page=?...にマッチ
if(RegExp.$1 != '') sTargetHtml = RegExp.$1 + ".html";
// --------------------------------------------------------
というコードを加えて
関数Check1内の
 location.href="a.html";

 location.href=sTargetHtml;
とする
指定が無い場合の記述が無いので「a.html」をデフォにしました
    • good
    • 0
この回答へのお礼

詳しい説明ありがとうございます。
2つの問題がいっぺんに解決いたしました。

本当にありがとうございました。

お礼日時:2012/11/16 00:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報