promptメソッドの働きについて

このQ&Aのポイント
  • promptメソッドはウィンドウに文字ダイアログを表示し、ユーザが入力した値を取得する機能があります。
  • myPassWord = prompt("パスワードを入力してください", "")の一行で、ユーザが入力した値がmyPassWordに代入されます。
  • promptはウィンドウ名を省略することもできます。
回答を見る
  • ベストアンサー

promptメソッドの働きについて

こちらのサイトを参考にjavascript勉強中の初心者です。 http://www.red.oit-net.jp/tatsuya/java/prompt2.htm ユーザが入力したパスワードが正しければ 指定したページにジャンプさせるというプログラムです。 その中に、 myPassWord = prompt("パスワードを入力してください", ""); という個所があり、どうも変数myPassWordに ユーザが入力した文字列を代入しているみたいなんですが 分からない事が2点あります。 【質問1】 リファレンスをひくと『prompt』というメソッドは 「指定したウィンドウに文字ダイアログを表示する」と書いてありました。 『prompt』にはダイアログ表示以外に、 入力された文字を抜き出すという機能もあるのですか? この一行で、なぜユーザが入力した値が取得できるのかわかりません。 【質問2】 リファレンスには、promptの書式として ウィンドウ名.prompt(); とあったのですが、ウィンドウ名(window.)は 省略されていると考えていいんですよね? 質問は以上です。 リファレンスの見方もまだ十分に理解できておらず 初歩的な質問で申し訳ありません。 お詳しい方からのご回答、お待ちしております、 初心者にもわかるよう噛み砕いて解説してくださると助かります。 よろしくお願いいたします。

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

  • ベストアンサー
回答No.1

【回答1】 何を見たか知りませんが http://msdn.microsoft.com/ja-jp/library/cc428127.aspx (「リファレンス」って言ったら普通これ) には 「メッセージと入力フィールドを持ったダイアログボックスを表示する。 」 「ユーザーが入力した値が返される」 と明記されていますね。 そもそも「文字ダイアログ」という説明が糞です。そのサイトは今すぐ見限ってください。 また、URLが提示された講座サイトにもはっきり 「myStr に入力された文字が セットされます。」 と書かれています。 「抜き出す」ではありませんが、まあそのとおりです。 【回答2】 それでOKです。 現在スクリプトが実行されているウィンドウではウィンドウ名は端折れます。

その他の回答 (1)

  • Ogre7077
  • ベストアンサー率65% (170/258)
回答No.2

【質問1】 リファレンスといえば、私にとってはこちら https://developer.mozilla.org/ja/docs/Web/API/window.prompt こちらには以下の記述があります。 「ユーザが OK ボタンをクリックすると、入力フィールドに入力されたテキストが返ります。」 簡単に文字列を入力させる手段として、昔からよく使われています。 ただ概要が 「ユーザにテキストを入力することを促すメッセージを持つダイアログを表示します。」 なので、たしかにピンとこない気もしますね。 【質問2】 一般にブラウザで window と記述しているものは、JS のグローバルオブジェクトを意味します。 グローバルオブジェクトは省略して書くことが出来ますから、グローバルオブジェクトのプロパティである prompt は "window." を省略できます。

関連するQ&A

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

    お世話になっております<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>

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

    お世話になります。 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つのパスワードを入力させるようにするにはどのような記述をすればよろしいでしょうか。 よろしくお願いいたします。

  • 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>

  • 新しいウインドウの開き方

    1年前、OKWEBでパスワードを入力するとリンク出来るページの作り方を教えてもらい、使用してました。 そのリンク先のページを「新しいウインドウ」で表示させたいのですが、ビルダーの機能には方法が無いようです。 今の状況は↓です。お願いします。 <!-- function myEnter(){ myPassWord = prompt("パスワードを入力してください。",""); if ( myPassWord == "sra0304" )location.href = "http://www.リンク先.htm"; else alert( "パスワードが違いますよ~♪" ); } function myPrompt(){ prompt(" これが,prompt の入力ウィンドウです! ",""); } // -->

  • HPを作っていますぅ。

    HPを作っていますぅ。 イヌでもわかるJavaScript講座 http://www.red.oit-net.jp/tatsuya/java/prompt2.htm で質問しても 何の回答も来ません。  パスワードです。。 トップページに5~6個のパスワードを入れたいのですが (秘密の部屋を5~6個つくりたい)  パスワードのソース1個は問題が無いのですが 2個以上だと使えません ソースをどのように変えたら良いですか? だれかー教えてーーください。

  • VBAで書き込みパスワードを解除して開く

    VBAでの作成経験が浅くわからないので、教えてください。 Excel2010のVBAを作成しております。 VBAで”ファイルを開く”ダイアログを表示し、ユーザが指定したファイルのパスワードの保護をマクロの中で解除してファイルを開きたいと思い作成しました。 myMB = Application.Dialogs(xlDialogOpen).Show(arg6:=myPassword) If myMB = False Then Exit Sub End If   ※myPasswordはユーザが開くファイルに使用するパスワード この方法ですと、パスワードを入れるダイアログが表示されてしまいます。 どうしたら、パスワードをユーザが入力することなく、マクロを実行することが できるのでしょうか?

  • Prompt入力値をphp変数として取込む方法

    Promptの入力値をphpの変数として取込む方法がわかりません。 以下の様にPromptの入力値をphpの変数として取込み、所定の処理を行いたいと考えています。しかしPromptの入力値"pw"をphpに取込む事が出来ません。ご教授ください。 ※File名=test_prompt.php <HTML> <HEAD> </HEAD> <BODY> <FORM action="test_prompt.php" method="POST"> <INPUT type="image" value="pasword" onclick="pw=prompt('パスワードを入力して下さい');" src="img/del.gif"> </FORM> <br><br> <?php $pw=$_POST['pw']; echo "PW=".$pw; ?> </BODY> </HTML>

    • 締切済み
    • PHP
  • AutoHotKeyで ユーザーアカウント制御を!

    制限の厳しいPCを使っていると、システムに関わる処理をしようとすると、「ユーザー アカウント制御」の画面が表示され、いちいち ユーザー名とパスワードの入力を求められます。 このダイアログウィンドウがポップアップされてきたら、それを WinWaitActive で検出し、Sendを使ってユーザー名とパスワードを自動的に入力できる AutoHotKeyのスクリプトを動かしたいです。 ; ダイアログが表示されるまで待つ WinWaitActive, ユーザー アカウント制御 で引っ掛けようとしているのですが、ポップアップされてくるダイアログウィンドウに反応してくれません。 AutoHotKeyで、 ユーザー アカウント制御 に 自分の ユーザー名・パスワード を入力できる スクリプトの作り方を教えて頂けますと助かります。 自分で試したスクリプトは、以下の通りです。実際に、ダイアログウィンドウがポップアップしてきても、無反応でした(勿論AutoHotKeyは起動され、下記ahkファイルは常駐された状態です)。 インストールしているAutoHotKeyは、「1.1.37.01 」です。 ----------------------------------------------- #Persistent SetTimer, CheckDialog, 1000 ; 1秒ごとにダイアログをチェック CheckDialog: IfWinExist, ユーザー アカウント制御 { WinActivate ; ウィンドウをアクティブにする WinWaitActive ; ウィンドウがアクティブになるまで待つ ; ダイアログ内のテキストをチェックし、必要な条件が一致するか確認 if (WinActive("管理者のユーザー名とパスワードを入力してください") ) { ; ユーザーIDとパスワードを入力する。 Send, ★ここに自分のユーザー名文字列 Send, {Tab} ; タブキーでフォーカスをパスワードフィールドに移動 Send, ★ここに自分のパスワード文字列 Send, {Enter} ; Enterキーでログインボタンをクリック SetTimer, CheckDialog, Off ; ダイアログの自動入力が完了したらタイマーをオフにする } } Return ----------------------------------------------- どうぞ宜しくお願い致します。

  • VB6.0で、マルチセレクトダイアログボックス(API)を使うと、パス名にチルダが混ざってしまうのですが。

    VB6.0で、APIのファイルを開くダイアログボックスで複数のファイルを開こうとしています。 下記のページで、openfilename構造体のFlagsにOFN_ALLOWMULTISELECTを指定したのですが、 パス名のところどころにチルダ「~」が混じってしまいます。 対処法をご存知ないでしょうか? ​http://www.red.oit-net.jp/tatsuya/vb/FileDialog.htm​

  • NASにアクセスできません

    Windows2008Server上からローカルネットワーク上のNAS(バッファローのTeraStation)にアクセスしようとすると、ユーザ名とパスワードを入力を要求するダイアログが表示されてしまいます、そこで、Serverにログインしているユーザ名とパスワードを入力してみたのですが、間違っているとのメッセージが出されアクセスできません。 ところが、同じダイアログに対して、ユーザ名のところに、どのサーバにもPCにも登録されていない適当な文字を入力し、パスワードは空ですとアクセスできます。なぜ、正しいユーザ名、パスワードを入力するとアクセスできないのでしょうか? その他情報  ・ドメインではなくワークグループ環境  ・Windows2008Serverのファイアーウォールを全てオフにしたが状況は変わらなかった  ・他のクライアントPC(WindowsXpPro)からは、今回のユーザ名でNASにアクセスできている  ・NASにアクセスできなかったユーザをAdministratorsグループに所属させてみたが、状況は変わらなかった

専門家に質問してみよう