2011-07-27 12 views
0

これは本当に簡単な問題です。私はこの作業をしていました。そして、私は何かを変えなければなりませんでしたが、今は動作しません。そのJSコードは、空の文字列をチェックしています。以下にコードを示します。このうんざりしたシンプルなコードで何が間違っているのかを理解しようとすると、20分間私は怒ってしまいました。基本的なJavaScriptの検証

<script type="text/javascript"> 
function validateForm(){ 
var email= document.getElementById('email').value; 
if (email.length==''){ 
alert("please fill out email");}} 
    </script> 

<form name="contact" method="post" action='ContactPHP.php'> 
Your Email: <input name='email' type='text' /><br /> 
<input type="button" value="submit" onClick="validateForm()"/> 
</form> 
+1

name属性とid属性を混同するのは簡単です。常に両方を入れて習慣をつけてください – colithium

答えて

4

JavaScriptはgetElementById('email')を呼び出しますが、入力には「電子メール」というIDはありません。

idを割り当てます。

<input name='email' id='email' type='text' /> 
+0

ありがとう、私の愚かなこと。 –

0

あなたは自分のテキスト入力文字列を返さない

2

email.lengthid='email'を追加... name='email 'を有するが、電子メールのIDを持つ要素を探しています。それを空の文字列と比較しています。 email == ""またはemail.length > 0を使用してください。

また、入力要素の文字数はname "email"ですが、id "email"という要素を探しています。 ID =「メール」あなたがここのdocument.getElementByIdを使用したくない

0

ご入力:

はここで完全な(訂正)スニペットです。

これを試してください:

関数validateForm(フォーム){ VAR電子メール= form.email.valueと、 (email.length == '')であれば{ 警告( "電子メールに必要事項を記入してください");}} あなたのメールアドレス:
0

を持っていない電子メールの

<script type="text/javascript"> 
    function validateForm(){ 
     var email= document.getElementById('email').value; 
     if(email.value == '') { 
      alert("please fill out email"); 
     } 
    } 
</script> 

<form name="contact" method="post" action='ContactPHP.php'> 
    Your Email: <input id='email' name='email' type='text' /><br /> 
    <input type="button" value="submit" onClick="validateForm()"/> 
</form> 
0

私がチェックするのが面倒ですが、私はその印象を持っています検証が失敗しても、javascript関数がfalseを返さないためフォームが送信されます。

私は警告( 'yadda yadda')の後にfalseを返します。 onclickイベントハンドラを次のように変更します。

onclick="return validateForm();"