Проверка формы: Как я должен проверить один зависимый пользовательский ввод с другим пользовательским вводом? - PullRequest
0 голосов
/ 13 октября 2019

Спасибо за ваше время. Я начну с того, что говорю, что только начинаю свое путешествие в JS и мог бы действительно использовать некоторую помощь здесь.

Я пытаюсь использовать JS для проверки DOB для новых форм регистрации студентов в нашей информационной системе для студентов. В форме у нас есть DOB и GL / Grad. Yr среди других областей. Что я хотел бы сделать, это проверить, что DOB соответствует выбранному GL.

Чтобы сделать это более динамичным, я хотел бы проверить его по году выпуска, так как его не нужно будет менять так часто. Град. Год рассчитывается на основе уровня оценки, а не поля пользовательского ввода.

Я почти ничего не знаю о JS, и буду признателен за любое направление для какого-то жизнеспособного кода или даже за ресурсы для оснащения меняемыми наборами навыков на будущее.

Прямо сейчас,все, что я сделал, это выдал предупреждение об успешной загрузке формы, но на самом деле он не фильтрует и не требует исправных данных. Кроме того, я отформатировал поля, которые должны быть выделены, чтобы сделать запись более ориентированной, за исключением обязательных полей, назначенных через панели конфигурации.


document.getElementById('tStateID').style.backgroundColor= "Yellow";
document.getElementById('sGender').style.backgroundColor= "Yellow";
document.getElementById('sEthnicity').style.backgroundColor= "Yellow";
document.getElementById('dBirthdate').style.backgroundColor= "Yellow";
document.getElementById('tBirthCountry').style.backgroundColor= "Yellow";
document.getElementById('tGradYear').style.backgroundColor= "Yellow";
document.getElementById('sState').style.backgroundColor= "Yellow";
document.getElementById('eRace').style.backgroundColor= "Yellow";
document.getElementById('eLanguage').style.backgroundColor= "Yellow";
document.getElementById('eNativeLang').style.backgroundColor= "Yellow";
document.getElementById('eHomeLang').style.backgroundColor= "Yellow"; function checkCountry() {
if (document.getElementById("tBirthCountry").value=="")
    return;

if (document.getElementById("tBirthCountry").value.toUpperCase()=="USA") {
    unFlagAsRequired('tInitUSEnrl','lblInitialUSEnrollment');
    unFlagAsRequired('tNbrMnthNonUSAttn','lblNbrofMnthNonUSAttn');
}
else {
    flagAsRequired('tInitUSEnrl','lblInitialUSEnrollment');
document.getElementById('tInitUSEnrl').style.backgroundColor= "Yellow";
    flagAsRequired('tNbrMnthNonUSAttn','lblNbrofMnthNonUSAttn');
document.getElementById('tNbrMnthNonUSAttn').style.backgroundColor= "Yellow";
}

function unFlagAsRequired(pField,pLabel) {
if (!pField || !pLabel) {
    return;
}

document.getElementById(pLabel).innerHTML = 
document.getElementById(pLabel).innerHTML.replace('* ','');

for (var i = 0; i < gExtraValidationField.length; i++) {
    if (gExtraValidationField[i] != "" && typeof(gExtraValidationField[i]) != "undefined") {
        if (gExtraValidationField[i]==pField) {
            gExtraValidationField[i]="";
        }
    }
}

for (var i = 0; i < gExtraValidationLabel.length; i++) {
    if (gExtraValidationLabel[i] != "" && typeof(gExtraValidationLabel[i]) != "undefined") {
        if (gExtraValidationLabel[i]==pLabel) {
            gExtraValidationLabel[i]="";

checkCountry();

addEvent(document.getElementById('tBirthCountry'),'change',checkCountry);

flagAsRequired('sGender','lblGender');

flagAsRequired('sEthnicity','lblFederalStateEthnicity');

flagAsRequired('sState','lblStateRace');

flagAsRequired('eRace','lblLocalRace');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...