remove the school reference
Deploy to Shared Hosting / Shared hosting deploy (push) Failing after 47s
Tests / PHPUnit (push) Successful in 1m22s

This commit is contained in:
root
2026-08-30 22:04:31 -04:00
parent 8d83cf84ab
commit 849a4579e9
5 changed files with 66 additions and 153 deletions
+13 -36
View File
@@ -148,6 +148,10 @@ import { validateAgeLive } from './age_validation.js';
input.name = base + '[' + index + ']';
}
});
formEl.querySelectorAll('input[data-last-year-default]').forEach(function (input) {
input.name = 'last_year_' + index;
input.value = 'no';
});
});
}
@@ -249,18 +253,14 @@ import { validateAgeLive } from './age_validation.js';
}
function setDefaultsForNewStudentForm(formEl) {
// Do NOT preselect any radio
formEl.querySelectorAll('input[type="radio"][data-base-name="last_year"]').forEach(function (r) {
r.checked = false;
});
// Keep grade select disabled until a choice is made
var gradeSelect = formEl.querySelector('.grade-select');
var gradeLabel = formEl.querySelector('.grade-label');
if (gradeSelect && gradeLabel) {
gradeSelect.innerHTML = '<option value="">Select Grade</option>';
gradeSelect.disabled = true;
gradeLabel.innerHTML = 'Last Year Grade <span class="text-danger">*</span>';
gradeSelect.disabled = false;
gradeLabel.innerHTML = 'Public School Last Year Grade <span class="text-danger">*</span>';
if (typeof window.updateGradeOptions === 'function') {
try { window.updateGradeOptions(formEl); } catch (ex) { warn('updateGradeOptions default error', ex); }
}
}
}
@@ -411,22 +411,6 @@ function addEmergencyForm() {
});
}
// Enable grade select only after the last_year radio is chosen
container.addEventListener('change', function (e) {
var target = e.target;
if (target && target.matches('input[type="radio"][data-base-name="last_year"]') && target.checked) {
var studentForm = target.closest('.student-form');
if (!studentForm) return;
if (typeof window.updateGradeOptions === 'function') {
try { window.updateGradeOptions(studentForm, target.value); } catch (ex) { warn('updateGradeOptions error', ex); }
} else {
var gradeSelect = studentForm.querySelector('.grade-select');
if (gradeSelect) gradeSelect.disabled = false;
}
}
});
// ---- Submit & Validation ----
form.addEventListener('submit', function (e) {
try {
@@ -489,12 +473,6 @@ function addEmergencyForm() {
allValid = allValid && ok;
});
// Radio groups per student (e.g., last_year)
form.querySelectorAll('.student-form').forEach((sf) => {
const radiosOk = validateRadioGroup(sf, 'last_year');
allValid = allValid && radiosOk;
});
// ---- Validate allergies & medical conditions for each student ----
let groupOk = true;
form.querySelectorAll('.student-form').forEach(function (block, idx) {
@@ -593,11 +571,10 @@ function addEmergencyForm() {
wireChecklistLiveValidation(form);
updateButtonStates();
// If server repopulated radios, reflect in grade select
// If server repopulated radios, reflect in grade select.
container.querySelectorAll('.student-form').forEach(function (sf) {
var checked = sf.querySelector('input[type="radio"][data-base-name="last_year"]:checked');
if (checked && typeof window.updateGradeOptions === 'function') {
try { window.updateGradeOptions(sf, checked.value); } catch (ex) { warn('updateGradeOptions init error', ex); }
if (typeof window.updateGradeOptions === 'function') {
try { window.updateGradeOptions(sf); } catch (ex) { warn('updateGradeOptions init error', ex); }
}
});
@@ -609,4 +586,4 @@ function addEmergencyForm() {
allowEmergency: allowEmergency
});
});
})();
})();
@@ -3,11 +3,7 @@
<h4 class="form-title">Student-# Information</h4>
<div class="mb-3">
<label>Was your child with us last year? *</label><br>
<input type="radio" class="lastYearRadio" name="last_year_#" value="yes" required> Yes
<input type="radio" class="lastYearRadio" name="last_year_#" value="no" required> No
</div>
<input type="hidden" name="last_year_#" value="no" data-last-year-default>
<div class="mb-3">
<label>First Name</label>
@@ -28,6 +24,20 @@
<label>School Grade</label>
<select name="registration_grade[]" class="form-select dynamic-grade" required>
<option value="">Select School Grade</option>
<option value="NA">Not enrolled in public school</option>
<option value="KG">Pre-K / Kindergarten</option>
<option value="1">Grade 1</option>
<option value="2">Grade 2</option>
<option value="3">Grade 3</option>
<option value="4">Grade 4</option>
<option value="5">Grade 5</option>
<option value="6">Grade 6</option>
<option value="7">Grade 7</option>
<option value="8">Grade 8</option>
<option value="9">Grade 9</option>
<option value="10">Grade 10</option>
<option value="11">Grade 11</option>
<option value="12">Grade 12</option>
</select>
</div>
@@ -44,4 +54,4 @@
<button type="button" class="btn btn-danger remove-student">Remove</button>
</div>
</div>
</div>
</div>