1

私のjavascriptコードは以下の通りです:

<script>
    function check(){
        if(document.getElementById("1").value=="") {
            alert("enter 1st value");
            document.getElementById("1").focus();
            return;
        }
        else if(document.getElementById("2").value=="") {
            alert("enter 2nd value");
            document.getElementById("2").focus();
            return;
        }
        return(true);
    }
</script>

私のhtmlページは

<form action="home.php" method="get">
    <input type="text" id="1"></input>
    <input type="text" id="2"></input>
    <input type="text" id="3"></input>
    <input type="submit"onclick="check()"></input>
</form>

入力フィールドを意図的に空のままにすると、焦点が合っていますが、入力値を求めずにすぐにhome.phpページにリダイレクトされます。

4

6 に答える 6

0
<form action="home.php" method="get" onSubmit="return check();">
<input type="text" id="1"></input>
<input type="text" id="2"></input>
<input type="text" id="3"></input>
<input type="submit"></input>
</form>
于 2013-06-04T13:22:59.043 に答える
0

以下のように質問を変更する必要があります

function check(){
     if(document.getElementById("1").value==""){
        alert("enter 1st value");
        document.getElementById("1").focus();
        return false;
     }
     else if(document.getElementById("2").value==""){
        alert("enter 2nd value");
        document.getElementById("2").focus();
        return false;
     }
return(true);
}

関数が false を返すと、フォームが投稿されなくなります。そのため、if 条件内で false が返されます。

于 2013-06-04T13:19:16.093 に答える
0
<html>
    <head>
        <script>
            function check(){
                if(document.getElementById("1").value==""){
                    alert("enter 1st value");
                    document.getElementById("1").focus();
                    return false;
                }
                else if(document.getElementById("2").value==""){
                    alert("enter 2nd value");
                    document.getElementById("2").focus();
                    return false;
                }
                return true;
            }
       </script>
  </head>
  <body>
      <form action="test.html" method="get">
          <input type="text" id="1"></input>
          <input type="text" id="2"></input>
          <input type="text" id="3"></input>
          <input type="submit"onclick="return check()"></input>
      </form>
  </body>
</html>
于 2013-06-04T13:19:34.260 に答える
0

return false送信がキャンセルされるために必要です。

<form action="home.php" method="get">
    <input type="text" id="1"></input>
    <input type="text" id="2"></input>
    <input type="text" id="3"></input>
    <input type="submit"onclick="return check()"></input> <!--Notice the return here-->
</form>

function check()
{
    if(document.getElementById("1").value=="")
    {
        alert("enter 1st value");
        document.getElementById("1").focus();
        return false;//return false instead of void
    }
    else if(document.getElementById("2").value=="")
    {
        alert("enter 2nd value");
        document.getElementById("2").focus();
        return false;//return false instead of void
    }
    return true;
}

JSFiddle

于 2013-06-04T13:19:52.590 に答える
0

3番目のフィールドが空かどうかをチェックしていません..では、空の場合、これをどのように停止しますか?

それはテストを受けることなしに行きます

return falseまた、ブラウザにそのようなアクションをリセットするように指示するため、ページが進行しないようにするためにも使用法が必要です。

そして、return check()代わりに使用します

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

        function check(){
            if(document.getElementById("1").value==""){
                alert("enter 1st value");
                document.getElementById("1").focus();
                return false;
            }
            else if(document.getElementById("2").value==""){
                alert("enter 2nd value");
                document.getElementById("2").focus();
                return false; 
            }
            else if(document.getElementById("3").value==""){
                 alert("enter 3nd value");
                document.getElementById("3").focus();
                return false; 
            }
            return(true);
        }

    </script>
    <form action="home.php" method="get">
    <input type="text" id="1"></input>
    <input type="text" id="2"></input>
    <input type="text" id="3"></input>
    <input type="submit"onclick="return check()"></input>
    </form>

于 2013-06-04T13:20:13.760 に答える
0

check 関数で void を返します。false を返すと、フォームの送信が停止します。

<script>
    function check(){
        if(document.getElementById("1").value==""){
            alert("enter 1st value");
            document.getElementById("1").focus();
            return false; // <<<< CHECK THIS LINE;
        }
        else if(document.getElementById("2").value==""){
            alert("enter 2nd value");
            document.getElementById("2").focus();
            return false; // <<<< CHECK THIS LINE
        }
        return(true);
    }
</script>

// Edit 入力要素は、いわゆる自己終了タグです。正しい構文は次のとおりです。

<input type="text" name="some_name" value="" />

また、送信ボタンは次のように定義する必要があります。

<button type="submit">Button text</button>
于 2013-06-04T13:17:27.820 に答える