2013-05-15 55 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

相关问题