アプリ版:「スタンプのみでお礼する」機能のリリースについて

JavaScriptで、別のページにデータを送るにはどうしたらよいのでしょうか。

1ページ目でテキストボックスに入力した文字列を、
2ページ目で、あらかじめ用意した文字列と一致するかどうかチェックする、
というのをやりたいのですが、なにぶん初心者なもので、どうも何かに失敗しているらしくうまくいきません。

一応、JavaScript解説のサイトさんを参考にこんなもんを作ってはみたのですが。

1ページ目
<html>
<head>
</head>
<body>
<form action="pas2.html" onSubmit="this.box.value=escape(this.box.value)">
<input type=text name=box>
<input type=submit value=" 送 信 ">
<input type=reset value="リセット">
</form>
</body>
</html>

2ページ目
<html>
<head>
</head>
<body>
<script>
val = document.location.search;
val = val.split("=");
val = unescape(unescape(val[1]));
if (val){
if(val==none||val!="pass") val="はずれ"
else val="あたり"
}
else val = "何にも入力されてません。";
document.write(val);
</script>
</body>
</html>

これでやってもエラーが出ます……
どうやったらいいのでしょうか。教えてください。

A 回答 (1件)

あくまでWebサーバには仕組みをいれず、JavaScriptのみで完結したい


ということですね。
2ページ目10行目のnoneが未定義というエラーになると思います。
何がしたいかによりますが、noneという文字列だったら、という条件なら
"none"とダブルクォーテーションで囲む。変数valに値が設定されていない、
という判定をしたいならnullとすればとりあえず動くかと思います。

ただ、その外側の
if (val){
で何がしたいかよくわかりません。(とりあえず、現状は無意味です)
普通に考えるなら下のような感じにするとすっきりするのではないでしょうか?

if ( val == null || val == "" ){
val = "何にも入力されてません。";
}else if( val != "pass"){
val = "はずれ"
}else{
val = "あたり"
}
    • good
    • 0
この回答へのお礼

ご返答ありがとうございます!お返事遅れてすみません。

10行目、noneじゃなくてnullでした……!(がふっ)←吐血
そんな阿呆なミスしてたんですね……穴があったら入りたい。
if (val){
の行は自分でもよくわかりません。そこは似たようなスクリプトを見つけたときにコピー・ペーストしたまんまなので……

ご回答どおり作り変えてみたらうまくいきました、ありがとうございました!

お礼日時:2005/05/17 19:55

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