2016-12-12 38 views
2

これは私が持っているコードで、nav-barのページをクリックすると呼び出され、プロンプトボックスが表示され、入力を求めますが、何も入力しなくても、プロンプトが機能しない

function AlertFunction() { 
    var person = prompt("Please Enter Password to enter Private Chat"); 

    if (person === Python) { 
    window.location.pathname = 'index.1.html'; 
    } else { 
    alert("Sorry you do not have access to this page"); 
    } 
} 

私はここでウェブサイトを入れて、オンラインあなたが希望の場合は、ページを表示することができ、そのようにそれを維持しようとするでしょう:prompt()からhttps://project-js-imthatguy.c9users.io/index.html

+1

F12キー(Windowsの場合)を押してデバッグコンソールを開きます。私はそれが '' Python'が間違っていて、 '' Python "'でなければならないと思います。 – Martijn

答えて

2

戻り値は常に文字列です。 "Python"の実際の値に対してレスポンスをテストする場合は、引用符で囲む必要があります。また、文字列は大文字と小文字を区別するので、 "python"は "Python"と等しくないことに注意してください。

Pythonがリテラル値ではないと仮定すると、それは変数であり、どこでも宣言または初期化されていないようです。

function AlertFunction() { 
 
    var person = prompt("Please Enter Password to enter Private Chat"); 
 

 
    // Strings are case-sensitive 
 
    if (person === "Python") { 
 
    window.location.pathname = 'index.1.html'; 
 
    } else { 
 
    alert("Sorry you do not have access to this page"); 
 
    } 
 
} 
 

 
AlertFunction();

Python
+0

はい、それは、引用符を忘れてしまいました、ありがとう – ImThatGuy

+1

@ImThatGuyあなたの歓迎、upvoteを忘れないでください答えとしてマークしてください。 –

+1

はい、私はそれを待っています – ImThatGuy

1

宣言されていない変数です。 JSエンジンがそれを読み取ってpersonと比較しようとすると、参照エラーがスローされ、スクリプトが異常終了します。

文字列リテラルにするには、引用符で囲む必要があります。

+0

ありがとうございました – ImThatGuy

0

Pythonは、定義されていない私は、あなたが「パイソン」

を書くためのものと仮定していますそして、あなたは一般的に、あなたのHTML/JSまたはクライアントサイドの内側にパスワードを保存しないでください。これまで

+0

それ以外はどうすればいいですか – ImThatGuy

+0

あなたのデータベース/サーバー側でパスワードを設定する必要があります。一般的にパスワードは厄介なビジネスであり、ハッシュする必要があります。最高の安全のために塩漬け – Mathspy

+0

[これについてもっと読むことができます] [https://crackstation.net/hashing-security.htm] – Mathspy