2013-05-26 34 views
3

我試圖做表單驗證通過檢查,在形式的以下字段已填寫驗證信息申請表:問題用JavaScript表單驗證

▪名稱字段
▪電子郵件字段
▪評論

我的函數validateName()完全不起作用,導致其他函數無法工作(單擊文本區域時將默認值添加到字段並刪除默認值)。當我刪除validateName()我以前創建的函數正常工作。應該指出,我已經將onsubmit =「return validateName()」添加到表單元素。我還需要分別創建一個validateEmail()和validateComments()。

我也想爲validateName(),validateEmail(),和validateComments()驗證功能檢查以下內容:

▪檢查是否提交 ▪檢查默認的文本當表單字段爲空在提交時在表單字段中

我已經註釋掉了2個validateName()函數,我嘗試使用,所以我的其他函數將起作用。

function formtext(){ 
     document.contact.Name.value="Enter your name."; 
     document.contact.Email.value="Enter your email address."; 
     document.contact.questions.value="Enter your comments."; 
    } 
    function delete_email(){ 
     document.contact.Email.value = ""; 
    } 
    function delete_name(){ 
     document.contact.Name.value = ""; 
    } 
    function delete_comments(){ 
     document.contact.questions.value = ""; 
    } 

    /* function validateName() 
    { 
     var x=document.contact.Name.value; 
     if (x==null || x=="") 

     { 
      alert("Name must be filled out"); 
      return false; 
     } 
    } */ 

    /* function validateName() 
    { 
     var x=document.contact.["Name"].value; 
     if (x==null || x=="") 
     { 
      alert("Name must be filled out"); 
      return false; 
     } 
    } */ 

</script> 
+0

什麼** ** jQuery的,爲什麼不利用呢? –

+0

試着給每個字段賦予一個'id'屬性並使用'if(document.getElementById('nameField')。value =='')' 我會嘗試創建一個小提琴並在這裏發佈鏈接 –

+0

非常感謝哈爾沙我會試一試。 – aplata

回答

2
var defaultName == 'Please Enter Name', defaultEmail == 'Please Enter Email', defaultComment == 'Please Enter Comment'; 
function validateForm() 
    { 
     if(document.getElementById('namefield').value == '' || (document.getElementById('namefield').value == defaultName) 
     { 
      alert('Please enter name'); 
     } 
     if(document.getElementById('emailfield').value == '' || (document.getElementById('emailfield').value == defaultEmail) 
     { 
      alert('Please enter email');  
     } 
     if(document.getElementById('commentsfield').value == '' || (document.getElementById('commentsfield').value == defaultComment) 
     { 
      alert('Please enter comments'); 
     } 
    } 
+0

對不起。從Dreamweaver複製複製粘貼時刪除所有格式 –

+0

我在考慮要求「檢查提交時默認文本在表單字段中「我可以添加一個或一個條件來讓值==後,但我怎麼能參考文本?它存在於我的函數中,所以我想我需要創建一個變量。有任何想法嗎?函數formtext(){document.contact.Name.value =「輸入你的名字。」; document.contact.Email.value =「輸入您的電子郵件地址。」; document.contact.questions.value =「輸入您的評論。」; } – aplata

+0

@aplata:在JavaScript中將變量定義爲'var defaultName ='在這裏輸入你的名字。然後,您可以執行如下檢查:if(document.getElementById('nameField')。value ==''|| document.getElementById('nameField')。value == defaultName)' –