I just discovered an issue with hiding fields and setting values to them depending on selected radio button.
The code I have works for FireFox and Chrome but does not work for any version of IE.
This is my HTML code.
<div id="minor_dependent_group"> <!--BEGINNING OF minor_dependent_group-->
<div class="form_item">
<div class="form_element cf_heading">
<h2 class="cf_text">Parent or guardian information</h2>
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_textbox">
<label class="cf_label" style="width: 150px;">First Name </label>
<input class="cf_inputbox required validate-alpha" maxlength="150" size="30" title="" id="parent_firstname" name="parent_firstname" type="text" />
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_textbox">
<label class="cf_label" style="width: 150px;">Middle Name</label>
<input class="cf_inputbox validate-alpha" maxlength="150" size="30" title="" id="parent_middlename" name="parent_middlename" type="text" />
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_textbox">
<label class="cf_label" style="width: 150px;">Last Name </label>
<input class="cf_inputbox required validate-alpha" maxlength="150" size="30" title="" id="parent_lastname" name="parent_lastname" type="text" />
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_dropdown">
<label class="cf_label" style="width: 150px;">Suffix</label>
<select class="cf_inputbox" id="parent_suffix" size="1" title="" name="parent_suffix">
<option value="">None</option>
<option value="Jr">Jr</option>
<option value="Sr">Sr</option>
<option value="I">I</option>
<option value="II">II</option>
<option value="III">III</option>
<option value="IV">IV</option>
<option value="V">V</option>
<option value="VI">VI</option>
</select>
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_textbox">
<label class="cf_label" style="width: 150px;">Employer</label>
<input class="cf_inputbox" maxlength="150" size="30" title="" id="parent_employer" name="parent_employer" type="text" />
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_textbox">
<label class="cf_label" style="width: 150px;">Occupation</label>
<input class="cf_inputbox" maxlength="150" size="30" title="" id="parent_occupation" name="parent_occupation" type="text" />
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_radiobutton" id=parent_address_as_pt>
<label class="cf_label" style="width: 150px;">Same address as patient?</label>
<input value="Yes" title="" class="radio validate-one-required" id="parent_address_as_pt0" name="parent_address_as_pt" type="radio" />
<label for="parent_address_as_pt0" class="radio_label">Yes</label>
<input value="No" title="" class="radio validate-one-required" id="parent_address_as_pt1" name="parent_address_as_pt" type="radio" />
<label for="parent_address_as_pt1" class="radio_label">No</label>
</div>
<div class="cfclear"> </div>
</div>
<div id="pt_parent_same_address_dependent_group"> <!--BEGINNING of pt_parent_same_address_dependent_group-->
<div class="form_item">
<div class="form_element cf_textbox">
<label class="cf_label" style="width: 150px;">Address</label>
<input class="cf_inputbox required" maxlength="150" size="30" title="" id="parent_address" name="parent_address" type="text" />
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_textbox">
<label class="cf_label" style="width: 150px;">City</label>
<input class="cf_inputbox required" maxlength="150" size="30" title="" id="parent_city" name="parent_city" type="text" />
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_dropdown">
<label class="cf_label" style="width: 150px;">State</label>
<select class="cf_inputbox validate-selection" id="parent_state" size="1" title="" name="parent_state">
<option value="">Choose Option</option>
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AZ">Arizona</option>
<option value="AR">Arkansas</option>
<option value="CA">California</option>
<option value="CO">Colorado</option>
<option value="CT">Connecticut</option>
<option value="DE">Delaware</option>
<option value="FL">Florida</option>
<option value="GA">Georgia</option>
<option value="HI">Hawaii</option>
<option value="ID">Idaho</option>
<option value="IL">Illinois</option>
<option value="IN">Indiana</option>
<option value="IA">Iowa</option>
<option value="KS">Kansas</option>
<option value="KY">Kentucky</option>
<option value="LA">Louisiana</option>
<option value="ME">Maine</option>
<option value="MD">Maryland</option>
<option value="MA">Massachusetts</option>
<option value="MI">Michigan</option>
<option value="MN">Minnesota</option>
<option value="MS">Mississippi</option>
<option value="MO">Missouri</option>
<option value="MT">Montana</option>
<option value="NE">Nebraska</option>
<option value="NV">Nevada</option>
<option value="NH">New Hampshire</option>
<option value="NJ">New Jersey</option>
<option value="NM">New Mexico</option>
<option value="NY">New York</option>
<option value="NC">North Carolina</option>
<option value="ND">North Dakota</option>
<option value="OH">Ohio</option>
<option value="OK">Oklahoma</option>
<option value="OR">Oregon</option>
<option value="PA">Pennsylvania</option>
<option value="RI">Rhode Island</option>
<option value="SC">South Carolina</option>
<option value="SD">South Dakota</option>
<option value="TN">Tennessee</option>
<option value="TX">Texas</option>
<option value="UT">Utah</option>
<option value="VT">Vermont</option>
<option value="VA">Virginia</option>
<option value="WA">Washington</option>
<option value="WV">West Virginia</option>
<option value="WI">Wisconsin</option>
<option value="WY">Wyoming</option>
<option value="Not apply" style="display: none;">Not apply</option>
</select>
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_textbox">
<label class="cf_label" style="width: 150px;">Zip Code</label>
<input class="cf_inputbox validate-alphanum" maxlength="5" size="5" title="" id="parent_zip" name="parent_zip" type="text" />
</div>
<div class="cfclear"> </div>
</div>
</div> <!--END of pt_parent_same_address_dependent_grouop-->
<div class="form_item">
<div class="form_element cf_textbox">
<label class="cf_label" style="width: 150px;">Home Phone #</label>
<input class="cf_inputbox required validate-alphanum" maxlength="10" size="30" title="" id="parent_home_phone" name="parent_home_phone" type="text" />
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_textbox">
<label class="cf_label" style="width: 150px;">Cell Phone #</label>
<input class="cf_inputbox validate-alphanum" maxlength="10" size="30" title="" id="parent_cell_phone" name="parent_cell_phone" type="text" />
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_textbox">
<label class="cf_label" style="width: 150px;">Email address</label>
<input class="cf_inputbox required validate-email" maxlength="150" size="30" title="" id="parent_email" name="parent_email" type="text" />
</div>
<div class="cfclear"> </div>
</div>
</div> <!--END OF minor_dependent_group-->
This is my JavaScript code
// parent address same as patient group
window.addEvent('domready', function() {
$('parent_address_as_pt').addEvent('change', function() {
if ($('parent_address_as_pt0').checked) {
$('pt_parent_same_address_dependent_group').setStyle('display', 'none');
$('parent_address').value = 'Same as patient';
$('parent_city').value = 'Not apply';
$('parent_state').value = 'Not apply';
$('parent_zip').value = '';
} else {
$('pt_parent_same_address_dependent_group').setStyle('display', 'block');
$('parent_address').value = '';
$('parent_city').value = '';
$('parent_state').value = '';
$('parent_zip').value = '';
}
});
// initialise the display
if ($('parent_address_as_pt0').checked) {
$('pt_parent_same_address_dependent_group').setStyle('display', 'none');
} else {
$('pt_parent_same_address_dependent_group').setStyle('display', 'block');
}
});
I am pretty sure it has something to do with how IE process the javascript during runtime.
I have a other hidden fields based on drop down selection and that works just fine.
Any idea would be much appreciated.