Javascript 表单验证:我应该如何用另一个用户输入验证一个依赖的用户输入?

Javascript 表单验证:我应该如何用另一个用户输入验证一个依赖的用户输入?,javascript,validation,Javascript,Validation,谢谢你抽出时间。首先我要说的是,我刚刚开始我的JS之旅,我真的需要一些帮助 我正试图利用JS在我们的学生信息系统中验证新学生报名表的DOBs。在表格中,我们有一个DOB和GL/Grad。在其他领域中。我想做的是验证DOB是否符合所选GL 为了使这一点更具活力,我想用毕业生年来验证,因为它不需要经常改变,而是毕业生。Yr是根据等级级别计算的,实际上不是用户输入字段 我对JS知之甚少甚至一无所知,我希望将来能为一些可行的代码提供一些指导,甚至能为自己的资源提供一个方向,使自己具备可适应的技能集 现在

谢谢你抽出时间。首先我要说的是,我刚刚开始我的JS之旅,我真的需要一些帮助

我正试图利用JS在我们的学生信息系统中验证新学生报名表的DOBs。在表格中,我们有一个DOB和GL/Grad。在其他领域中。我想做的是验证DOB是否符合所选GL

为了使这一点更具活力,我想用毕业生年来验证,因为它不需要经常改变,而是毕业生。Yr是根据等级级别计算的,实际上不是用户输入字段

我对JS知之甚少甚至一无所知,我希望将来能为一些可行的代码提供一些指导,甚至能为自己的资源提供一个方向,使自己具备可适应的技能集

现在,我所做的只是在成功加载表单时提示一个警报,但它实际上并没有过滤和要求健康的数据。此外,我还设置了要突出显示的字段的格式,以使条目更具指导性,超出了通过配置面板指定的必需字段


document.getElementById('tStateID').style.backgroundColor=“黄色”;
document.getElementById('sGender').style.backgroundColor=“黄色”;
document.getElementById('sEthnicity').style.backgroundColor=“黄色”;
document.getElementById('dBirthdate').style.backgroundColor=“黄色”;
document.getElementById('tBirthCountry').style.backgroundColor=“黄色”;
document.getElementById('tGradYear').style.backgroundColor=“黄色”;
document.getElementById('ssState').style.backgroundColor=“黄色”;
document.getElementById('eRace').style.backgroundColor=“黄色”;
document.getElementById('eLanguage').style.backgroundColor=“黄色”;
document.getElementById('eNativeLang').style.backgroundColor=“黄色”;
document.getElementById('eHomeLang').style.backgroundColor=“黄色”;函数checkCountry(){
if(document.getElementById(“tBirthCountry”).value==“”)
返回;
if(document.getElementById(“tBirthCountry”).value.toUpperCase()=“美国”){
需要取消LAGAS(“tInitUSEnrl”、“lblInitialUSEnrollment”);
unFlagAsRequired('TNBRMNTHNONUUSATTN','LBLNBROFMNTHNONUUSATTN');
}
否则{
需要标记('tInitUSEnrl','lblInitialUSEnrollment');
document.getElementById('tInitUSEnrl').style.backgroundColor=“黄色”;
需要标记('TNBRMNTHNONUUSATTN','LBLNBROFMNTHNONUUSATTN');
document.getElementById('tNbrMnthNonUSAttn').style.backgroundColor=“黄色”;
}
功能解除LAGASSREQUIRED(pField,pLabel){
如果(!pField | |!pLabel){
返回;
}
document.getElementById(pLabel).innerHTML=
document.getElementById(pLabel.innerHTML.replace('*','');
对于(变量i=0;i
请显示您迄今为止创建的代码。DOB是否有任何限制或您是否接受任何有效日期?哪些选项对等级级别有效?这些选项是否必须根据数据库进行验证?据我所知,DOB仅限制>1901且在当前日期之前。我不知道如何访问硬代码。GL选项为01,02,03,04,05,06,07,08,09,10,11,12,13,K,P1,P2,P3,P4。至于检查数据库,我不这么认为,因为它是第一个条目。我们已经传递了一个表单,而名称表中的现有行已经被找到了。@eusotech您可以发布HTML和CSS吗?如果可能,您可以创建一个JSFIDLE吗?这将使它更容易谢谢!恐怕我不知道如何从我的管理系统中提供这些信息。@eusotech我在你的代码中没有看到任何关于GL的信息。我也没有看到你的HTML。你还缺少
flagassrequired
函数定义。如果没有所有相关信息,很难(如果不是不可能的话)帮助你。
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');