2016-04-15 10 views
0

複数のifステートメントを自分の関数に入れるのに役立つ必要があります。私はそれがinput1(名)input2(姓)input6(電子メール)とinput8(メッセージボックス)の入力であることを確認する必要があります。 1つのフィールドが空であれば警告をポップアップし、それがどのフィールドであるかを明記する必要があります。以前は別の関数を使ってコード化していましたが、その後は関数をサブミット時にコールしましたが、フィールドが空であると保留中のすべてのアラートがポップアップしていました。私はむしろ1つだけの警告をポップアップしてから、スクリプトを終了するためにfalseを返すので、4つの警告であなたを迷惑させ、スクリプトを取り消します。ありがとう!別のアラートメッセージを呼び出すJavascript ifステートメントの問題

更新:最初の3つのフィールド(First/Lastnameとemail)に対応しています。メッセージボックスのアラートを追加するだけですが、.lengthはメッセージボックスでは機能していないようです。 。 何か案は?私は他の人たちと同じようにしてみましたが、コードを壊して何もしません。

<!DOCTYPE html> 
<html> 
<head> 

<title>Contact Us</title> 
<link rel="stylesheet" type="text/css" href="view.css" media="all"> 
<script type="text/javascript" src="view.js"></script> 

</head> 

<body id="main_body" > 


    <div id="form_container"> 


     <form id="form_1121982" class="appnitro" enctype="multipart/form-data" method="post" action=""> 
        <div class="form_description"> 

      <p></p> 
     </div>      
     <h1 align="center">Contact Us</h1> 

      <ul > 

        <li id="li_1" > 
     <label class="description" for="element_1">Name </label> 
     <span> 
      <input id="input1" name= "input1" class="element text" maxlength="255" size="8" value=""/> 
      <label>First</label> 
     </span> 
     <span> 
      <input id="input2" name= "input2" class="element text" maxlength="255" size="14" value=""/> 
      <label>Last</label> 
     </span> 
     </li>  <li id="li_2" > 
     <label class="description" for="element_2">Phone </label> 
     <span> 
      <input id="input3" name="input3" class="element text" size="3" maxlength="3" value="" type="text"> - 
      <label for="input3">(###)</label> 
     </span> 
     <span> 
      <input id="input4" name="input4" class="element text" size="3" maxlength="3" value="" type="text"> - 
      <label for="input4">###</label> 
     </span> 
     <span> 
      <input id="input5" name="input5" class="element text" size="4" maxlength="4" value="" type="text"> 
      <label for="input5">####</label> 
     </span> 

     </li>  <li id="li_3" > 
     <label class="description" for="input6">Email </label> 
     <div> 
      <input id="input6" name="input6" class="element text medium" type="text" maxlength="255" value=""/> 
     </div> 
     </li>  <li id="li_4" > 
     <label class="description" for="input7">Upload a File </label> 
     <div> 
      <input id="input7" name="input7" class="element file" type="file"/> 
     </div> 
     </li>  <li id="li_5" > 
     <label class="description" for="input8">Paragraph </label> 
     <div> 
      <textarea id="input9" name="input8" class="element textarea medium"></textarea> 
     </div> 
     </li> 

        <li class="buttons"> 
       <input type="hidden" name="form_id" value="1121982" /> 

       <input id="saveForm" class="button_text" type="button" name="submit" value="Submit" onclick="myFunction1();" /> 
       <input type="reset" value="Reset"> 

     </li> 
      </ul> 
     </form> 
     <div id="footer"> 

     </div> 
    </div> 

    </body> 
</html> 
function myFunction1() 
{ 
    var field1 = document.getElementById("input1").value.trim(); //checks length of first name 
    var field2 = document.getElementById("input2").value.trim(); //checks length of first name 
    var field6 = document.getElementById("input6").value.trim(); //checks length of first name 

     if (field1.length == 0) 
    { 
     alert("Please Fill In Your First Name"); 
     return false; 
    } 



     else if (field2.length == 0) 
    { 
     alert("Please Fill In Your Last Name"); 
     return false; 
    } 

     else if(field6.length == 0) 
     { 
     alert("Please Fill in Your Email"); 
     return false; 
     } 
} 

答えて

2

置き、あなたのif文の中の復帰。

if (field1.length == 0) { 
    alert("Please Fill In Your First Name"); 
    return false; 
} 

あなたがテキストエリアを取得しようとしているどのようにJavaScriptを供給していないのに、あなたの質問の後半部分に答えるために。

まず、命名規則はあまり良くありません。私はあなたがここでやったと思う間違いをしないように意味のあるものを使うべきです。

<textarea id="input9" name="input8" class="element textarea medium"></textarea> 

あなたのテキストエリアには、name=input8id=input9を持っています。これを最初にやっていた方法で、id=input8になるはずですか?

フィールドには、ラベルの名前を使用します。例:id=Firstnameid=Emailなど

+0

ありがとう!それは私がそれを外に持っていた理由をidkを取り消すために得ました。私は別の質問を病気の上にそれを更新している。 –

+0

@AndrewRibicki全く異なる質問の場合は、現在の質問を編集する代わりに、別の投稿を作成する必要があります。 – 4castle

+0

@ 4castleそれは基本的に同じ質問ですので、私はそれを追加し、前の質問を残しました –

関連する問題