2016-04-15 63 views
0

我需要幫助把多個if語句放入我的函數。我需要它來檢查以確保它們是input1(first name)input2(lastname)input6(email)和input8(message box)中的輸入。我需要它然後彈出警報,如果一個字段是空的,並說明是什麼字段。我之前用單獨的函數對它進行了編碼,然後在提交時調用函數,但隨後它會彈出所有警報,等待該字段爲空。我寧願讓它只彈出一個警報,然後返回false退出腳本,因此它不會用4個警報發送垃圾郵件,然後取消腳本。謝謝!問題與JavaScript如果語句,要求不同的警報消息

更新:我有它爲我需要的前三個字段(First/Lastname和電子郵件)工作我只需要爲消息框添加一個警報,但似乎.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; 
} 

爲了回答你問題的第二部分,雖然你沒有提供你如何試圖讓textarea的的JavaScript。

首先,你的命名約定不是很好。你應該使用一些有意義的東西,這樣你就不會犯我認爲你在這裏完成的錯誤。

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

你的textarea的具有id=input9name=input8。你最初是怎麼做的,應該是id=input8

對於您的字段,請使用標籤的命名。例如id=Firstnameid=Email等。

+0

謝謝!這就是爲了取消idk,爲什麼我在外面就這麼做了。我有另一個問題不適合上面的更新。 –

+0

@AndrewRibicki如果這是一個完全不同的問題,那麼你應該做一個單獨的帖子,而不是編輯當前的問題。 – 4castle

+0

@ 4castle它基本上是相同的問題,所以我剛剛添加它,並留下了前面的問題 –