Skip to content

Instantly share code, notes, and snippets.

@gchristian
Created November 9, 2012 19:05
Show Gist options
  • Save gchristian/4047562 to your computer and use it in GitHub Desktop.
Save gchristian/4047562 to your computer and use it in GitHub Desktop.
modify ethnicity table and js on nicktech.org's big registration page to create a static block to calculate IL_FER - while refactoring separated display and logic out of force of habit...
<!-- add to onload function - sets initial description of il_fer (explan) -->
update_il_fer_description(document.getElementById("IL_FER_FIELD_WRAP").children[0].value);
<!-- changes to ethnicity part of table -->
<tr class="~[evenoddrow]">
<td colspan="2" title="fedethnicity" id="ethnicity_column">
<div>
<label>Is the student Hispanic or Latino?</label>
<input id="defaultEthnicity" type="hidden" name="[01]FedEthnicity" value="-1">~[Comment:Note that the onload javascript will revert this back to -1 after it's been changed to whatever is currently in the DB.]
<div class="choicefloat" id="hispanic_yes"><input type="radio" name="[01]FedEthnicity" value="1">Yes</div>
<div class="choicefloat" id="hispanic_no"><input type="radio" name="[01]FedEthnicity" value="0">No</div>
~[if.pref.FRE_AllowDeclineEthnicity=1]<div class="choicefloat"><span class="declined"><div id="hispanic_declined"><input type="radio" name="[01]FedEthnicity" value="2"></div>~[pref:FRE_DeclineEthnicityText]</span></div>[/if]
<div class=clearit><!-- --></div>
</div> </td>
<td colspan="2" title="fedrace"><input type="hidden" name="SaveRace" value="1">
<input type="hidden" name="[01]FedRaceDecline" id="r_none_storage" value="0">
<!-- See 'decline_race' function in raceselection_block.ftl -->
~[brij_renderform:federalrace;:GetStudentRaceSelectionBlock]</td>
</tr>
<tr class="~[evenoddrow]">
<td colspan="4">
<table cellpadding="4" class="nomargin">
<tr>
<td colspan="2">
<span class="bold"><a class="black" title="IL_FER">IL Race Ethnicity:</a></span><div id = "IL_FER_FIELD_WRAP">
<input type="text" name="[Students]IL_FER" id="[Students]IL_FER" size="3" maxlength="3" readonly="readonly" style="background-color=CCCCCC;" value="~([Students]IL_FER)" /></div><div id="il_fer_drescription"></div>
<!-- script to render il_fer -->
<script type="text/javascript">
var IL_FER_FIELD = document.getElementById("IL_FER_FIELD_WRAP").children[0];
var IL_FER_DESCRIPTION = document.getElementById("il_fer_drescription");
var race_id_list = ["race_12", "race_13", "race_14", "race_15", "race_16"];
function update_il_fer_description(current_race_value)
{
switch(current_race_value)
{
case "11": {IL_FER_DESCRIPTION.innerHTML = "Hispanic"; break}
case "12": {IL_FER_DESCRIPTION.innerHTML = "American Indian or Alaska Native"; break}
case "13": {IL_FER_DESCRIPTION.innerHTML = "Asian"; break}
case "14": {IL_FER_DESCRIPTION.innerHTML = "Black or African American"; break}
case "15": {IL_FER_DESCRIPTION.innerHTML = "Native Hawaiian / other Pacific Islander"; break}
case "16": {IL_FER_DESCRIPTION.innerHTML = "White"; break}
case "17": {IL_FER_DESCRIPTION.innerHTML = "Multiple Values"; break}
default: {IL_FER_DESCRIPTION.innerHTML = "None"; break}
}
}
function calculate_il_fer()
{
var numclicked = 0;
var new_race_value = "";
for (i=0;i<race_id_list.length;++i)
{
if (document.getElementById(race_id_list[i]).checked)
{
numclicked++;
new_race_value = document.getElementById(race_id_list[i]).value;
}
}
if (document.getElementById("hispanic_yes").firstChild.checked)
{
new_race_value = "11";
}
else if (numclicked > 1)
{
new_race_value = "17";
}
IL_FER_FIELD.value = new_race_value;
update_il_fer_description(new_race_value);
}
for (i=0;i<race_id_list.length;++i)
{
var obj = document.getElementById(race_id_list[i]);
obj.onchange = calculate_il_fer;
}
document.getElementById("hispanic_yes").firstChild.onclick = calculate_il_fer;
document.getElementById("hispanic_no").firstChild.onclick = calculate_il_fer;
if (document.getElementById("hispanic_declined"))
document.getElementById("hispanic_declined").firstChild.onclick = calculate_il_fer;
</script>
<!-- Ending of script to render il_fer -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment