• ベストアンサー

【心理テスト作成】JavaScriptでページが表示されません

チェックボックスを作り、 チェックが○個で「A」のページ、 チェックが○個で「B」のページ、 といったような簡易的な心理テストを作成したいと思い、 下記の方法を教えていただいたのですが、 正常に表示がされません(泣) 「送信」のボタンを押しても何もアクションが起こらないです… 私のPCに問題があるのでしょうか?? 申し訳ありません、 初心者でよく分かりませんのでよろしくお願い致します。 ▼ココからです▼ <html> <head> <title>Sample</title> <script language="JavaScript"> <!-- function jump() { count = 0; for (var i=0;i<document.sampleform.elements["check"].length;i++){ if ((document.sampleform.elements[i].name == "check") && (document.sampleform.elements[i].checked)) { count ++; } } if (count == 0) { // 一つもチェックされていない場合 location.href("​http://www.yahoo.co.jp");​ } else if (count <= 3) { // チェックが3個以下の場合 location.href("​http://www.google.co.jp");​ } else { // チェックが4個以上の場合 location.href("​http://www.msn.co.jp");​ } } //--> </script> </head> <body> <form name="sampleform"> <input type="checkbox" name="check" value="A"> A<br> <input type="checkbox" name="check" value="B"> B<br> <input type="checkbox" name="check" value="C"> C<br> <input type="checkbox" name="check" value="D"> D<br> <input type="checkbox" name="check" value="E"> E<br> <input type="button" value="送信" onclick="jump();"> </form> </body> </html>

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

できれば、以下の修正をしてください。 ×location.href("http://www.yahoo.co.jp"); ○location.href="http://www.yahoo.co.jp"; 他の方の指摘がありますが、ここの掲示板でかかれている ソースにはリンクに余計なコードが付加されるので、 コピペしたらURLの前後にあるごみを手でとる必要があります。 実際、以下のように書くとすっきりしますよ。 ※formに名前をつけるのは非推奨なのでとりました <html> <head> <title>Sample</title> <script language="JavaScript"> <!-- function jump(f) { count = 0; for (var i=0;i<f.length;i++){ if (f[i].type == "checkbox" && f.checked){ count ++; } } if (count == 0) location.href="http://www.yahoo.co.jp"; if (count <= 3) location.href="http://www.google.co.jp"; location.href="http://www.msn.co.jp"; } //--> </script> </head> <body> <form> <input type="checkbox" name="check" value="A"> A<br> <input type="checkbox" name="check" value="B"> B<br> <input type="checkbox" name="check" value="C"> C<br> <input type="checkbox" name="check" value="D"> D<br> <input type="checkbox" name="check" value="E"> E<br> <input type="button" value="送信" onclick="jump(this.form);"> </form> </body> </html>

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • PED02744
  • ベストアンサー率40% (157/390)
回答No.2

ソースとしては問題ないですね。 ​ は入っていないんですよね? ([​ ]は、かってにokwaveが埋め込んでいるだけなので、実際には記述したらだめです) ​ Http://xxx.xxx.xxx ​ →× Http://xxx.xxx.xxx →○

すると、全ての回答が全文表示されます。
回答No.1

ソースをよく見ましょう。 コピーに失敗して​が入ってしまってます。 ​の前後を修正したらちゃんと実行できましたよ。

すると、全ての回答が全文表示されます。

関連するQ&A