2012-07-23 44 views
-5

我不知道java,但對於有人來說,這看起來很容易。我需要驗證一個聯繫表單,並且我有這些驗證腳本,但是如果我輸入此腳本的多個實例,它們將不會運行,如果只使用其中一個,則工作正常。有人可以將這4個組合成一個驗證腳本。將4個簡短的JavaScript表單驗證合併到一個腳本中

驗證名稱字段

<script type="text/javascript"> 
function validateForm() 
{ 
var x=document.forms["myForm"]["name"].value; 
if (x==null || x=="") 
    { 
    alert("Name must be filled out"); 
    return false; 
    } 
} 
</script> 

驗證主題欄

<script type="text/javascript"> 
function validateForm() 
{ 
var x=document.forms["myForm"]["subject"].value; 
if (x==null || x=="") 
    { 
    alert("Subject must be filled out"); 
    return false; 
    } 
} 
</script> 

驗證消息字段

<script type="text/javascript"> 
function validateForm() 
{ 
var x=document.forms["myForm"]["message"].value; 
if (x==null || x=="") 
    { 
    alert("Message must be filled out"); 
    return false; 
    } 
} 
</script> 

驗證電子郵件字段

<script type="text/javascript"> 
function validateForm() 
{ 
var x=document.forms["myForm"]["email"].value; 
var atpos=x.indexOf("@"); 
var dotpos=x.lastIndexOf("."); 
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length) 
    { 
    alert("Not a valid e-mail address"); 
    return false; 
    } 
} 
</script> 

和你典型的接觸形式

<form name="myForm" method="POST" onsubmit="return validateForm()" > 
<input type="text" name="name"> 
<input type="text" name="email"> 
<input type="text" name="subject"> 
<textarea name="message"></textarea> 
<input type="submit" value="Send Message" name="submit"> 
</form> 
+1

javascript與java腳本不一樣。 http://www.htmlgoodies.com/beyond/javascript/article.php/3470971/Java-vs-JavaScript.htm – 2012-07-23 21:59:01

+0

當然,您可以在這些腳本中看到相似之處。爲什麼不先嚐試自己結合他們? – 2012-07-23 22:02:20

回答

2

這是我得到了它的工作

<script type="text/javascript"> 
function validateForm() 
{ 
var x=document.forms["myForm"]["name"].value;if (x==null || x==""){alert("Name must be filled out");return false} 
var x=document.forms["myForm"]["email"].value;var atpos=x.indexOf("@");var dotpos=x.lastIndexOf(".");if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length){alert("Not a valid e-mail address");return false;} 
var x=document.forms["myForm"]["subject"].value;if (x==null || x==""){alert("Subject must be filled out");return false} 
var x=document.forms["myForm"]["message"].value;if (x==null || x==""){alert("Message must be filled out");return false} 
} 
</script> 
1

喜歡的東西;

var validation = ["name","subject","message","email"]; 
validation.forEach(
    x=document.forms["myForm"][this]; 
    if(this=="email"){ 
     var atpos=x.indexOf("@"); 
     var dotpos=x.lastIndexOf("."); 
     if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length){ 
      alert("Not a valid e-mail address"); 
      return false; 
     } 
    }else{ 
     if (this==null || x==""){ 
      alert(this.toUpperCase()." must be filled out"); 
      return false; 
     } 
    } 
); 
+2

不投棄權票這個無辜的人 – Delta 2012-07-23 22:22:15

+0

謝謝..只是想幫助 – mattclegg 2012-07-23 22:32:50

+0

這沒有奏效,但感謝您的幫助。經過多次試驗和錯誤,並得到它的工作。 – 2012-07-24 08:30:52

0

可以使用有條件的「如果」,調用函數的形式提交事件,我想使它成爲一個功能工作的simpliest比你想象的更容易,這是一個簡單形式的例子:

<form action="insert.php" name="contact" onsubmit="return valida_frm(this)" method="post"> 

       <input name="personname" type="text"/> 
       <input name="personemail" type="email"/>     
       <textarea name="message"></textarea> 
       <input type="submit" value="Send"> 

      </form> 

然後添加「頭」標籤的功能

<script language="javascript"> 
function valida_frm(form){ 
var alert="Error:\n"; 
if (form.personname.value == "") {alert+="Name can't be empty.\n";} 
if (form.personemail.value == "") {alert+="E-Mail can't be empty.\n";} 
if (form.message.value == "") {alert+="Message can't be empty.\n";} 
if (alert!="Error:\n"){ 
    alert(alert); 
    return false; 
}else{ 
    return true; 
} 
} 
</script> 

您可以使用此方法驗證並將輸入值發送到您的郵件程序。我希望這對你有所幫助。

相關問題