5

javasript を使用してユーザー入力を確認したい場合、return false ステートメントが Chrome で機能しません。false を返してもアクション タグが発生します。これが私のコードです

<script type="text/javascript">
  function testInput(){
    if(document.getElementById("input1").value == ""){
      alert('error');
      return false;
    }else{
      return true;
    }
  }
</script>

HTML

<form action="exec.php" method="post" onSubmit="return testInput()">
<input type="text" id="input1" name="input1" />
<input type="submit" value="Exec" />
</form>
4

2 に答える 2

2

私は遅れていることを知っていますが、この返信は将来誰かを助けるかもしれません. 今日も同じ問題に遭遇しました。Jack のコメントを読んだ後、チェック関数に try/catch ブロックを挿入しました。これにより、実行が停止するのを防ぎ (コードがクラッシュしても false を返す)、Chrome コンソール パネルにエラーを出力することができました。次のように同じことを試すことができます:

function testInput(){
    try {
        if (document.getElementById("input1").value == "") {
            alert('error');
            return false;
        } else {
            return true;
        }   
    } catch (e) {
        console.error(e.message);
        return false;
    }
}
于 2013-05-06T11:15:19.893 に答える
0

入力フィールドに空白がないことを確認してください。

このようなものを試してくださいif(document.getElementById( "input1")。value .trim () == "")

IEではtirmが正常に機能しないことに注意してください。必要に応じてこの回避策を使用してくださいhttp://goo.gl/L802W

于 2012-06-04T06:47:28.893 に答える