IE7でpromptメソッドが正しく動かない問題の解決方法

このQ&Aのポイント
  • 初心者向けのJavaScriptで、promptメソッドを利用してパスワードのインプットページにリンクしようとしています。
  • マイドキュメント内では正常に動作していますが、サーバーにアップロードしてIE7で確認すると想定通りに動作しません。
  • どこが問題なのか全くわからないので、IE7で正しく動かす方法を教えてください。
回答を見る
  • ベストアンサー

promptメソッドがIE7では正しく動かない

javascriptの初心者です、宜しくお願いします。 promptメソッドを利用してインプットされたパスワードのページへリンクしようとしています。マイドキュメント内では問題なく動いているのですが、サーバーへアップロードしてIE7で確認の段階になると正しく動いてくれません。どこが悪いのか全く解りません、どなたかお教え頂けませんでしょうか。 次の様なソースで実行しています。 <script type="text/javascript"> <!-- function passWordCheck(){ pass=prompt("パスワードを入力してください。",""); if (pass != "") {location.href = pass + ".html";} else if(pass == null){passWordCheck();} } //--> </script> </head> <body> <input type="button" value="閲覧する" onClick="passWordCheck()"> </body> </html>

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

  • ベストアンサー
  • 15mm
  • ベストアンサー率65% (65/100)
回答No.1

IE7ではインターネットのセキュリティレベルに以下のものがあります。 スクリプト └スクリプト化されたウィンドウを使って情報の入力を求めることを Web サイトに許可する この設定の規定値は「無効にする」です。 つまり、大抵のIE7ではprompt()を使った処理が制限されています (ローカル上はインターネットではないので許可されています) テキストボックスを配置しておいて、そこに入力された文字列で判定したほうが無難なようです。 それでもprompt()を使うのなら、Scriptのほうも直したほうがよいところがあります。 >if (pass != "") {location.href = pass + ".html";} >else if(pass == null){passWordCheck();} では、「null」が返されていても「null.html」に飛ばされてしまい、else if()内の処理が行えませんし、 キャンセルを押しているのにプロンプトを出し続けるのでは困ってしまいます。 if(pass == null){/*キャンセルされたときの処理*/} else if(pass != ""){/*パスワードがあるときの処理*/} のようにしてみてください。

yama-ehime
質問者

補足

明瞭なアドバイスを頂き有難うございます。 早速、セキュリティレベルの変更をしました所、1週間ほど悩んだ問題箇所(プロンプトのインプットフォームが出ないでファイルエラー)が嘘の様に解決しました。感謝感激です。 また、良きアドバイスまでも頂きプログラムの変更へ力が湧いてきました。またお粗末な質問を投げかけるかも知れませんが宜しくお願いします、有難うございました。

関連するQ&A

  • ジャバスクリプト

    よろしくお願いします。 この度、初めてジャバスクリプトに挑戦しました。プログラムをhtmlの<body></body>タグ内に次のように入力しました。 <SCRIPT LANGUAGE="JavaScript"> <!-- fanction passWordCheck(){ pass=prompt("パスワードを入力してください。",""); if (pass !="") { location.href = pass + ".htm"; }else if(pass == null){ passWordCheck(); } } //--> </SCRIPT> <P ALIGN="center"><STRONG>パスワードを入力して入室してください。</STRONG></P> <P ALIGN="center"> <INPUT TYPE="button" VALUE=""入室する" onclick="passWordCheck""(file:///D:/第1章/技006/member.htm#)"> </P></TD> </TR> ところが、これをブラウザに表示すると次のように2つのエラーが出ます。 1 ")" がありません。 2 'PassWordCheck'は宣言されていません。 このエラーを解決したいのですが、よろしくお願いします。

  • ジャバスクリプト

    お世話になります。 今、私はジャバスクリプトに挑戦しています。 不明な点が発生しました、よろしくご指導ください。 本文 このプログラムは、Webページの閲覧をパスワードによって制限するというものらしいのですが、 私は、htmlソースの<body></body>内に次のようなjavascriptプログラムを入力しました。   <SCRIPT LANGUAGE="JavaScript"> <!-- function passWordCheck(){ pass=prompt("パスワードを入力してください。",""); if (pass !="") { location.href = pass + ".htm"; }else if(pass == null){ passWordCheck(); } } //--> </SCRIPT> <P ALIGN="center"><STRONG>パスワードを入力して入室してください。</STRONG></P> <P ALIGN="center"> <INPUT TYPE="button" VALUE="入室する" onclick="passWordCheck()"> </P></TD> </TR>   そこで私は、結果を確認するためブラウザを表示させ、ブラウザ上で表示された(入室する)というボタンをクリックしました。すると(Explorerユーザープロンプト)という小さな画面がでてその中には、(パスワードを入力してください)とあるのです。 私は、パスワードとして表示させたいWEBページのURLを入力しました。 すると、ERRORとして(指定されたファイルは見つかりません)として、 表示を希望するページが表示されません。 何とかしてこのプログラムを活用させたいのですが、よろしくご指導くださいますようお願いします。

  • パスワードを二つ用いて隠しページをひらくには?

    お世話になります。 http://www.red.oit-net.jp/tatsuya/java/prompt.htm このサイトをみてパスワード付きホームページの作成の 仕方はおおむね理解したのですが、 私のサイトの場合パスワードを2個用いて 隠されたホームページを表示されるようにしたいと思っています。 <script language="JavaScript"><!-- function myButton(){ myPassWord = document.myFormText.myFormTextPass.value; if ( myPassWord == "pass1" )location.href = "secret.htm"; else alert( "パスワードが違います!" ); } // --></script> <form name="myFormText"> パスワードを入れてください <input type="password" size="30" name="myFormTextPass"> <input type="button" value="OK" onclick="myButton()"> </form> パスワードを入れてください このような表記だと1つのパスワードしか入力できず 困っているのですが2つのパスワードを入力させるようにするにはどのような記述をすればよろしいでしょうか。 よろしくお願いいたします。

  • HTML パスワード認証について

    HTML パスワード認証について 現在、HPを作成しているのですが、パスワード認証のソースがうまく動きません。 素人なもので色々と調べながらやっているのですが、なぜ動かないかがわかりません。 どなたか教えていただけないでしょうか? ソースは下記通りです。 <head> <SCRIPT LANGUAGE="JavaScript"> <!-- function PassLink(){ key=document.pass.word.value; location.href="C:\xxxxxxxxxx\ooooooooo\iiiiiiiii\"+key+".html"; } //--> </SCRIPT> </head> とHTML側の文章は <body> <FORM name="pass"> <INPUT type="text" name="word" size="18"> <INPUT type="button" value="認証" onClick="PassLink()"> </FORM> </body> です。 宜しくお願いします。

    • ベストアンサー
    • HTML
  • ホームページの「パスワード」機能が上手く作動しなくて困っています。

    自分のホームページに「パスワード」で 特定の人だけが閲覧できるページを作りたいのですが インターネットで見つけたスクリプト(下記)を HTMLに書き込んだのですが、上手くリンク先のページに 飛びません。何が悪いのでしょうか? ****************以下書き込んだ内容です。 <head></head>の間に <script language="JavaScript" type="text/javascript"> function nextPage(){ pwd=document.form1.pass.value; location.href=pwd+".html"; } </script> そのあと<body></body>の間に <form name="form1"> <input type="textbox" name="pass"> <input type="button" value="パスワード" onClick="nextPage();"> </form> ****************です。 パスワードは、飛ばしたい先の名前が「test.html」 ですので、聞いてきたパスワード欄に test と打つのですが 「表示できません」のメッセージが出ます。 環境は vista でホームページビルダーのvar.5です。 よろしくお願いいたします。

  • アクセス制限のあるページのつくりかた

    お世話になっております<m(__)m> おしえてください(涙 WindowsXPをつかっています。 http://www.red.oit-net.jp/tatsuya/java/prompt.htm ↑のページを参考にしまして(作者様、ありがとうございます<m(__)m>) アクセス制限のあるページを作ってみたく思いました。 スクリプト内容は、 ************************************************ <script language="JavaScript"><!-- function myEnter(){ myPassWord=prompt("Tatsuya家のパスワードを入力してください",""); if ( myPassWord == "pass1" ) location.href = "secret.htm"; else alert( "パスワードが違います!" ); } // --></script> <form> ここは家族専用です→ <input type="button" value="Tatsuya家へ" onclick="myEnter()"> </form> *********************************************** 上記のものですが、私としては、以下の部分(かな?) <form> ここは家族専用です→ <input type="button" value="Tatsuya家へ" onclick="myEnter()"> </form> ↑ここを直したいんです。 画像アイコンをクリックして、そのアクセス制限のあるダイヤログがでて→そして実際制限したいページにいけるようにしたいんです。一応HPビルダー6.0で作成していますが、タグを直接打たなくちゃだめだよ~というのなら、がんばりますので、教えてください<m(__)m>だから、formタグは使わないと思うのですが、初心者のため、いまいちよくわかりません(涙 どうかよろしくおねがいいたします<m(__)m>

  • formについてFirefoxで動作させたい

    IEとGoogle Chromeでは動作が正常に確認できました。 Firefoxでも正常に動作するようにしたいのですが、何処を直せば良いのでしょうか? クリックしてもボタンが動いてないようなのですが・・・・。 すみません、どなた様かご存知でしたら、どうぞよろしくお願い致します。 <script type="text/javascript"> function PassChack(){ var passWord = passF.pass.value; if(passWord ==""){ alert("パスワードが未入力です"); return false; }else if(passWord == "aaa"){ location.href = "aaa.html"; }else{ alert("パスワードが間違っています"); } } </script> <form method="post" id="passF">   <input type="text" name="pass" id="pass" size="30" value="" /><input type="button" value=" 実行 " onclick="PassChack();return false;" /> </form>

  • 知り合いにだけ見れるページを作るには?(セキュリティはそんなに高くなくていいです

    すごい簡単な方法で構いません。 一般公開しているHPのうち 身内にだけ見せたいページがあるとします。 そのページのアドレスを知り合いにだけ 教えればいいだけなのですが、それでは 何かイヤなので、教えて下さい。 <form> <script language="JavaScript"> <!-- function myEnter(){ PassWord = prompt("パスワードを入力して♪",""); if (PassWord == "") { alert("パスワードが未入力です"); } else { location.href = "http://www1.tcnet.ne.jp/****/"+PassWord+".htm"; } } // --> </script> <input type="BUTTON" value="パスワード" style="width:6em" onclick="myEnter()"> </form> と今、記述していてボタンを押した時に、 パスワード(実際には見せたいページのHTMLファイル名) の入力をさせたいと思っているのですが、 パスワードのキャンセルをした時に、 Null.htmにとんでしまいます。 キャンセルしたときは、トップページに戻りたいのですが どのように書けばいいのでしょうか? また、もっといい方法で簡単な方法があれば 教えて下さい。SCRIPTだけで解決したいと思っています。 IE5 Windows2000

    • ベストアンサー
    • HTML
  • どこにJavascriptが使われてるかわからない

    このタグのどこにJavascriptが使われてるか教えてもらえますか? <body> <form> <input type="button" value="HOMEページへ移動" onclick="document.location = 'http://www.yahoo.co.jp/';" /> </form> </body> これです。 document.location がJavascriptなのでしょうか?

  • フォームで条件によってボタンの処理を変える

    フォームでパスワードを入力してもらい、確認用にもう一度入力した際、 誤入力があればアラート、正しく同じ値が入力されればsubmitにしたいと思っており、下記のようなコードを書きましたが、同じ値を入力した際にIEでエラーがでてしまいます(FirefoxやSafariでは動きます)。 当方Javascriptの知識に乏しく、どなたか助けていただけませんでしょうか?宜しくお願いいたします。 <html> <script language="JavaScript"> <!-- function passCheck(){ pass1 = document.free.PASSWORD.value; pass2 = document.free.PASSWORD2.value; if(pass1!==pass2) {alert("入力された確認用パスワードが違います");} else if(pass1==pass2) {document.free.submit.type="submit";} } //--> </script> <body> <form method="POST" action="submit.cgi" name="free"> <p> <input type="password" size="20" name="新パスワード" id="PASSWORD"><br> <input type="password" size="20" name="新パスワード(確認)" id="PASSWORD2"> </p> 確認のため、上記と同じパスワードをご記入ください。 <p><input type="button" name="submit" value="確認する" onclick="passCheck()"/></p> </form> </body> </html>

専門家に質問してみよう