• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 180
  • Last Modified:

JSP is causing error in my form

I have jsp form with a label and drop down box.

There is a radio button for a user to select their institution U = University T = technical school.    There is a drop down box for ONLY technical students.  It must not appear for university students.  Upon opening, getInst() is checked.  If it is U, disable both the label and drop down box.  Otherwise display them.

The user has the option to change their institution.
If a Univ student decides to change to technical, the drop down box and label must appear.
If a technical student decides to change to univ the drop down box and label must be disabled

enabling and Disabling the dropdown box works fine, the label is not  I don't know why

the label used to work like this
<td align=left><FONT id="label1" class="smallbold">Technical School:</FONT></td>
but when I added
<td align=left><FONT id="label1" class="smallbold"
   <% if (institution.getInst.equals("U")) { %> disabled <%} %> >
it stopped working

Why is this happening? How can I fix it?
If it cannot be fixed, is there another way to resolve it?
Thank you in advance for your help

here is my code
...
<form>

<%
   // U = University T = technical school
   // object inst
%>

//Radio button for technical school or University here, selecting it invokes: xxx(inst)

<tr>
   <td align=left><FONT id="label1" class="smallbold"
      <% if (inst.getInst.equals("U")) { %> disabled <%} %> >Technical School:</FONT>
   </td>            
   <td><select  name="theSchool" id="schoolID" width=10
             <% if (inst.getInst.equals("U")) { %> disabled <%} %> >
               <font class=smallbold>
                  <OPTION VALUE='1'  SELECTED>Winston Churchill school
                  <OPTION VALUE='2' >Margaret Thatcher school
                  <OPTION VALUE='3' >Jon Richards School
              </font>
          </select>
   </td>
</tr>      
...
</FORM>
...  


I also have javascript for a user to select manually select the instituion

function xxxx(inst) {

   var classAttrString = document.all? 'className':'class';

   if (inst == 'U') {
      var theClass="smallbolddisabled";
      document.form.theSchool.disabled=true; // this works ok
      updateLabel(classAttrString, theClass) // not working
   }
   if (inst == 'T') {
      var theClass="smallbold";
      document.form.theSchool.disabled=false; // this works ok
      updateLabel(classAttrString, theClass)  // not working
   }
}

function updateLabel(classAttrString, theClass) {
   // this code used to work
   document.getElementById('label1').setAttribute(classAttrString,theClass,0);      
}




0
kngoc7
Asked:
kngoc7
2 Solutions
 
Peter KwanAnalyst ProgrammerCommented:
Please try the following, this is found working in IE:

<STYLE TYPE="text/css">
.smallbold {
   // your style
}

.smallbolddisabled {
   // your disabled style
}
</STYLE>

BTW, I guess your label should be the following:

<tr>
   <td align=left><FONT id="label1" class="smallbold<% if (inst.getInst.equals("U")) { %>disabled<%} %>" >Technical School:</FONT>
   </td>

or a better way:
<tr>
   <td align=left><FONT id="label1" class="smallbold<%= (inst.getInst.equals("U"))?"disabled":"" %>" >Technical School:</FONT>
   </td>
0
 
kngoc7Author Commented:
Thanks for your help, let me test it and get back to you
0
 
gops1Commented:
Or else:

<tr  style="display:<% if (inst.getInst.equals("U")) { %> none<%}else{%> ''<%}%>">
   <td align=left><FONT id="label1" class="smallbold" >Technical School:</FONT>
   </td>          
   <td><select  name="theSchool" id="schoolID" width=10>
               <font class=smallbold>
                  <OPTION VALUE='1'  SELECTED>Winston Churchill school
                  <OPTION VALUE='2' >Margaret Thatcher school
                  <OPTION VALUE='3' >Jon Richards School
              </font>
          </select>
   </td>
</tr>  
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now