Фильтр данных форм SharePoint на основе оператора switch и имена полей


Этот код перебирает в форме таблицы в SharePoint, присваивает идентификатор для каждого <tr> на данной странице, и скрывает те <tr> элемент по имени, основываясь на стоимости Check_Type.

window. onload  = function (){

    //create array of td objects inside form table
    var formLable = document.getElementsByClassName("ms-formlabel");
    var formBody = document.getElementsByClassName("ms-formbody");

    //iterate over the td elements and assigns ids to parent based on label data
    for (var i = 0; i < formLable.length - 1 ; i++) {   
        var formID = formLable[i].querySelector('nobr').innerHTML;
        formLable[i].parentElement.id = formID;
        //eval("var " + formID + "= document.getElementById(formID)");
    };



    //grab check type input value
    var CheckType = document.getElementById("Check_Type").querySelector('input').value;

    switch (CheckType) {
        case 'General':
            hide('Customer','Description','CompletedBy','Date','Now','Day','Target Audiences','Pending?','Check_Type','Backup Date','Backup Ok?','Disk Space','Replication Ok?','System','Tape Volume');
            break;
        case 'Backup':
            hide('Customer','Description','CompletedBy','Date','Now','Day','Target Audiences','Pending?','Check_Type','System');
            break;
        case 'Handover':
            hide('Customer','Description','CompletedBy','Date','Now','Day','Target Audiences','Pending?','Check_Type','Backup Date','Backup Ok?','Disk Space','Replication Ok?','System','Tape Volume');
    };

}


function  hide() {
    for (var i = 0; i < arguments.length; i++) {
        document.getElementById(arguments[i]).style.display = 'none';
    }
}


Комментарии