1

わかりました、Stack Overflow の皆さん、質問があります。私は高校の Web デザインのクラスにいて、クラスの前半をすでに知っていたので、クラスに先立って学習しています。Javascriptについて学んだことを教えてもらえないかと先生に尋ねられ、同意しました。しかし、彼女が私に教えてほしいと思ったことの 1 つは、私が自分で試してみるとうまくいかないことです。ボックスに名前を入力すると、それが私の名前または教師の名前である場合、「ようこそ」などのポップアップが表示され、それが誰かである場合、変数の簡単なチェックをしようとしています。それ以外の場合は、「離れて」と表示されますが、唯一の問題は、コードで何かを試しても機能しないことです。これは私が現在持っているテスト機能です。を印刷することを目的としています。

<!doctype html>
<html>

<head>


<script type="text/javascript">
    var name = document.KageForm.User.value;

      function validator(){
        alert(name);

    }
    </script>

    </head>
    <body>

    <form name="KageForm">
        Username:<input type="text" name="User">
    <br/>
        Password: <input type="password" name="pass">
    <br/>
    <input type="button"value="Submit" onclick="validator()" />
    </form>


    <script type="text/javascript">
    </script>
</body>
</html>

これは、私が作業しようとしているコードの完全なバージョンです。

<!doctype html>
<html>

<head>


<script type="text/javascript">
    var name = document.KageForm.User.value;

      function validator(){
if(name=="Kage Kaldaka"){
            alert("Eeyup")};
        else
            alert("Nnope");
    }
    </script>

    </head>
    <body>

    <form name="KageForm">
        Username:<input type="text" name="User">
    <br/>
        Password: <input type="password" name="pass">
    <br/>
    <input type="button"value="Submit" onclick="validator()" />
    </form>
    </body>
    </html>
4

4 に答える 4

2

ここにはいくつかの問題があります。

  • ifステートメントの後にセミコロンがあります
  • 入力フィールドがまだページに追加されておらず、ユーザーがまだ入力していない時点で、ページの読み込み時に名前の値を読み取っています。ユーザーがフォームを送信するときにそれを読む必要があります。つまり、name割り当てをvalidatorメソッド内に移動する必要があります。

JS:

function validator(){
    var name = document.KageForm.User.value;
    if(name=="Kage Kaldaka"){
        alert("Eeyup");
    } else {
        alert("Nnope");
    }
}
于 2013-04-08T22:47:05.770 に答える
0

以前のすべての回答に加えて、JavaScriptで===ではなく==を使用するのは良い方法です

于 2013-04-08T22:54:07.803 に答える
0

関数の外で変数を設定しています:

<script type="text/javascript">
var name = document.KageForm.User.value;

function validator(){
  if(name=="Kage Kaldaka"){
        alert("Eeyup")};
    else
        alert("Nnope");
}
</script>

これはvar name、ページの読み込み時に設定されることを意味しますが、それ以外のときは設定されません。に移動しvalidator()ます。

ifまた、セミコロンで終了しているため、そのelse部分でエラーが発生します。

于 2013-04-08T22:48:45.077 に答える
0

.の後にセミコロンがあってはなりませんif。また、変数を関数内に配置して更新する必要があります。

function validator(){
    var name = document.KageForm.User.value;
    if(name=="Kage Kaldaka"){
        alert("Eeyup")
    } else {
        alert("Nnope");
    }
}

JSFiddle: http://jsfiddle.net/FhCTc/1/

于 2013-04-08T22:45:28.357 に答える