2013-08-28 60 views
0

我想讓表單驗證哪裏有單選按鈕和textarea。我不想讓任何東西留空,即表格應該完全填滿。我已經完成了驗證的單選按鈕部分,如果用戶沒有選擇單選按鈕,他會針對該特定問題得到一個錯誤。你可以看到代碼here的詳細代碼。單選按鈕和特定錯誤的表單驗證

請幫我一把。我沒有得到textarea錯誤。

回答

0

你沒有寫 'textarea的' 塊任何驗證。我用一個textarea更新了它...添加其餘的驗證。

function RadioValidator() 
{ 
    var ShowAlert = ''; 
    var AllFormElements = window.document.getElementById("FormID").elements; 
    for (i = 0; i < AllFormElements.length; i++) 
    { 
     if (AllFormElements[i].type == 'radio') 
     { 
      var ThisRadio = AllFormElements[i].name; 
      var ThisChecked = 'No'; 
      var AllRadioOptions = document.getElementsByName(ThisRadio); 
         var problem_desc = document.getElementById("problem_desc"); 

      for (x = 0; x < AllRadioOptions.length; x++) 
      { 
       if (AllRadioOptions[x].checked && ThisChecked === 'No' && problem_desc.value === "") 
       { 
        ThisChecked = 'Yes'; 
        break; 
       } 
      } 

      var AlreadySearched = ShowAlert.indexOf(ThisRadio); 
      if (ThisChecked == 'No' && AlreadySearched == -1 && problem_desc.value === "") 
      { 
      ShowAlert = ShowAlert + ThisRadio + ' option must be selected\n'; 
      } 
     }else if(AllFormElements[i].type =='textarea') 
     { 
      // add your rest of text area validations here 

      var problem_desc_1 = document.getElementById("problem_desc"); 
      if(problem_desc_1.value === "") 
      { 

      ShowAlert = ShowAlert + '"Services (Please Specify)" can not be blank. \n'; 
      } 


     } 
    } 
    if (ShowAlert !== '') 
    { 
    alert(ShowAlert); 
    return false; 
    } 
    else 
    { 
    return true; 
    } 
} 
+0

您需要檢查textarea AllFormElements [i] .value' not element with id = problem_desc。 – jcubic

0

您需要添加一個支票textarea以及

在你javascript檢查您只增加了一個條件類型radio. 支票textarea類型以及如果值爲空加錯誤。

2

只需要添加另外支票textarea的

function RadioValidator() { 
    var ShowAlert = ''; 
    var AllFormElements = window.document.getElementById("FormID").elements; 
    for (i = 0; i < AllFormElements.length; i++) { 
     var name = AllFormElements[i].name; 
     if (AllFormElements[i].type == 'radio') { 
      ....  
     } else if (AllFormElements[i].type == 'textarea') { 
      if (AllFormElements[i].value == '') { 
       ShowAlert += name + ' textarea must be filled\n'; 
      } 
     } 
    } 
    if (ShowAlert !== '') { 
     alert(ShowAlert); 
     return false; 
    } else { 
     return true; 
    } 
} 
+0

當我添加此代碼,我只得到,即使我沒有選擇一個單選按鈕反正感謝您的幫助,我想我已經得到了解決由於薩米爾他的代碼工作的錯誤,以填補文本區域。 –

+0

你需要將代碼放在'....' – jcubic

+0

的地方。抱歉,我不知道爲你的代碼添加的+1再次感謝你。 –