2013-05-15 90 views
0

在這部分代碼中,我們需要禁用提交按鈕,直到所有字段被選中,否則每件事情都會搞砸!那麼是否可以禁用提交按鈕?如果這麼好心地幫助我們!禁用提交按鈕,直到選中所有字段

  out.println("<html><body><form action=''>"); 
      out.println("<br><center><h1><font color='red'>Detailed DocID Status</font></h1>"); 
      out.println("<br> Year <select name='year'>"); 
      out.println("<option value=''>Select Year</option>"); 

      for(int i=2010;i<=2020;i++){ 
       out.println("<option value="+i+">"+i+"</option>"); 
      } 
       out.println("</select>"); 

      out.println(" &nbsp;&nbsp;&nbsp; Month <select name='month'>"); 

       out.println("<option value=''>Select Month</option>"); 
       out.println("<option value='01'>Jan</option>"); 
       out.println("<option value='02'>Feb</option>"); 
       out.println("<option value='03'>Mar</option>"); 
       out.println("<option value='04'>Apr</option>"); 
       out.println("<option value='05'>May</option>"); 
       out.println("<option value='06'>June</option>"); 
       out.println("<option value='07'>July</option>"); 
       out.println("<option value='08'>Aug</option>"); 
       out.println("<option value='09'>Sep</option>"); 
       out.println("<option value='10'>Oct</option>"); 
       out.println("<option value='11'>Nov</option>"); 
       out.println("<option value='12'>Dec</option>"); 

       out.println("</select>"); 

      out.println(" &nbsp;&nbsp;&nbsp; Status : <select name='status'><option value='Select Status'>Select Status</option><option value='Approved'>Approved</option><option value='Clarifications'>Clarifications</option><option value='Pending'>Pending</option></select> &nbsp;&nbsp;&nbsp; "); 
      out.println("<input type='submit'id='submit' name='subBtn' value='Submit' disable='disabled' onClick=doenable()>"); 
      out.println("</form></body></html>"); 
      out.println("<br><br>"); 

功能,我們試圖

function doenable() 
     { 
      if(document.getElementById("year")!=null) 
      { 
       if(document.getElementById("month")!=null) 
        { 
         if(document.getElementById("status")!=null) 
          { 
           document.getElementById("subBtn").disabled=false; 
          } 
        } 

       } 

     } 
+0

你爲什麼從你的問題中刪除Javascript? – Barmar

+0

我們忘了給函數中的ID。所以我們試着給ID並檢查出來......但它沒有再工作:( –

+0

但是你需要離開這個功能,所以我們可以告訴你你做錯了什麼以及如何解決它。 – Barmar

回答

1
$("select").change(function() { 
    if ($("select").filter(function() { 
     return $(this).value == ""; 
    }).length == 0) { 
    jQuery('#submit').removeAttr('disabled'); 
} else { 
    jQuery('#submit').attr('disabled','disabled'); 
} 

在代碼的函數,你讓兩個錯誤:

  1. 您不使用.value來判斷是否選擇該字段。
  2. 處理程序應位於<select>元素的onchange處理程序中,而不是提交按鈕的單擊處理程序。
+0

先生我已經把ID而不是值,並改變onClick onChange ='function()'。但我們無法解決這個! –

+0

沒有看到新的代碼,我們不能說出你現在做錯了什麼。 – Barmar

0

使用jQuery附着在特定的change事件

jQuery('select').change(function(){ 
    valid = true; 
    jQuery('select').each(function(){ 
     if (jQuery(this).val() == ''){ 
      valid = false; 
      return false; 
     } 
    }); 

    if (valid == true){ 
     jQuery('#submit').removeAttr('disabled'); 
    } else { 
     jQuery('#submit').attr('disabled','disabled'); 
    }  
}); 
+0

這將啓用提交如果只有一個字段被填寫,而不是如果所有填寫。 – Barmar

相關問題