2017-10-31 13 views
1

送信ボタンをクリックしたときにコードを書きました。テキストが1秒未満で表示されます。どうすれば永遠にできますか?JavaScriptを使用してフォームを検証するために送信ボタンが機能しない

<!doctype html> 
 
<html> 
 

 
<head> 
 
    <meta charset="utf-8"> 
 
    <title>Untitled Document</title> 
 
</head> 
 

 
<body> 
 
    <form action="#" method="post" onSubmit="return validcheck()"> 
 
    <input type="text" id="firstname" name="firstname"> 
 
    <input type="submit"> 
 
    <div id="error1"></div> 
 
    </form> 
 

 
    <script> 
 
    function validcheck() { 
 
     var checkingg = document.getElementById('firstname').value; 
 
     if (checkingg == null || checkingg == "") { 
 
     document.getElementById('error1').innerHTML = 'please write something here'; 
 
     } else { 
 
     document.getElementById('name-error').innerHTML = ''; 
 
     } 
 
    } 
 
    </script> 
 
</body> 
 

 
</html>

+0

フォームの送信を禁止するコードはありません。 –

答えて

1

はちょうどあなたの方法からfalseを返す:

function validcheck() { 
     var checkingg = document.getElementById('firstname').value; 
     if (checkingg == null || checkingg == "") { 
     document.getElementById('error1').innerHTML = 'please write something here'; 
     } else { 
     document.getElementById('name-error').innerHTML = ''; 
     } 
     return false; 
    } 
+0

それは働いていますが、偽を返すとどうなるのでしょうか? else {}やif {}の中で、もう一つの疑問は、正確にfalseを返すものです。行う? – Arman

+0

falseを返すと基本的にそれ以上のイベントのバブリングが防止されます。この場合、フォームが送信されないようにします。そのため、データが無効である場合にのみfalseを返す必要があります – user184994

1

あなたが不足しているreturn文

<!doctype html> 
 
<html> 
 

 
<head> 
 
    <meta charset="utf-8"> 
 
    <title>Untitled Document</title> 
 
</head> 
 

 
<body> 
 
    <form action="#" method="post" onSubmit="return validcheck()"> 
 
    <input type="text" id="firstname" name="firstname"> 
 
    <input type="submit"> 
 
    <div id="error1"></div> 
 
    </form> 
 

 
    <script> 
 
    function validcheck() { 
 
     var checkingg = document.getElementById('firstname').value; 
 
     if (checkingg == null || checkingg == "") { 
 
     document.getElementById('error1').innerHTML = 'please write something here'; 
 
     } else { 
 
     document.getElementById('name-error').innerHTML = ''; 
 
     } 
 
return false; 
 
    } 
 
    </script> 
 
</body> 
 

 
</html>

1

以下のようにアクションを与えることができます。

<form action="javascript:void(0)" method="post" onSubmit="return validcheck()"> 
関連する問題