@ismember en javascript

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

@ismember en javascript

Messagepar gouff » 04 Oct 2013 à 09:21

Bonjour,

Pour un formulaire web, je cherche à faire en javascript, l'équivalent de la formule :

@IsMember(@UserName;ExpertList))

ExpertList étant un champ de mon formulaire.

Des idées?

D'avance merci.
Damien
"Si tu ne réussis rien du premier coup, alors le saut en parachute n'est pas fait pour toi"
Avatar de l’utilisateur
gouff
Posteur habitué
Posteur habitué
 
Message(s) : 277
Inscrit(e) le : 11 Fév 2008 à 16:33
Localisation : Grenoble

Re: @ismember en javascript

Messagepar Michael DELIQUE » 04 Oct 2013 à 09:25

salut

j'ai ça en stock...


Code : Tout sélectionner
function isMember(array, value, nbCase, nbTrim){

    if (array === undefined || array === null || isArray(array) === false || array.length === 0) {
        return false;
    }
    if (value === undefined || value === null || value === "") {
        return false;
    }
    if (nbCase === undefined || nbCase === null || nbCase === "" || isNaN(nbCase)) {
        nbCase = false;
    }
    if (nbTrim === undefined || nbTrim === null || nbTrim === "" || isNaN(nbTrim)) {
        nbTrim = false;
    }
   
    var i = 0, i2 = 0;
   
    for (i = 0, i2 = array.length; i < i2; i++) {
        if (nbCase === false) {
            if (nbTrim === true) {
                if (trim(array[i].toUpperCase()) === trim(value.toUpperCase())) {
                    return true;
                }
            }
            else {
                if (array[i].toUpperCase() === value.toUpperCase()) {
                    return true;
                }
            }
        }
        else {
            if (nbTrim === true) {
                if (trim(array[i]) === trim(value)) {
                    return true;
                }
            }
            else {
                if (array[i] === value) {
                    return true;
                }
            }
        }
    }
    return false;
}

function isMemberIndex(array, value, nbCase, nbTrim){

    if (array === undefined || array === null || isArray(array) === false || array.length === 0) {
        return -1;
    }
    if (value === undefined || value === null || value === "") {
        return -1;
    }
    if (nbCase === undefined || nbCase === null || nbCase === "" || isNaN(nbCase)) {
        nbCase = -1;
    }
    if (nbTrim === undefined || nbTrim === null || nbTrim === "" || isNaN(nbTrim)) {
        nbTrim = -1;
    }
    var i = 0, i2 = 0;
    for (i = 0, i2 = array.length; i < i2; i++) {
        if (nbCase === false) {
            if (nbTrim === true) {
                if (trim(array[i].toUpperCase()) === trim(value.toUpperCase())) {
                    return i;
                }
            }
            else {
                if (array[i].toUpperCase() === value.toUpperCase()) {
                    return i;
                }
            }
        }
        else {
            if (nbTrim === true) {
                if (trim(array[i]) === trim(value)) {
                    return i;
                }
            }
            else {
                if (array[i] === value) {
                    return i;
                }
            }
        }
    }
    return -1;
}


function isMemberPseudo(array, value, nbCase, nbTrim, sep, rigthLeft, nbIndex){

    if (array === undefined || array === null || isArray(array) === false || array.length === 0) {
        return false;
    }
    if (value === undefined || value === null || value === "") {
        return false;
    }
    if (nbCase === undefined || nbCase === null || nbCase === "" || isNaN(nbCase) || nbCase !== true) {
        nbCase = false;
    }
    if (nbTrim === undefined || nbTrim === null || nbTrim === "" || isNaN(nbTrim) || nbTrim !== true) {
        nbTrim = false;
    }
    var separator = "", valeur1 = "", valeur2 = "", i = 0, i2 = 0;
    if (sep === undefined || sep === null || sep === "") {
        separator = "|";
    }
    else {
        separator = sep;
    }
    if (nbIndex === undefined || nbIndex === null || nbIndex === "" || isNaN(nbIndex) || nbIndex !== true) {
        nbIndex = false;
    }
    if (rigthLeft === undefined || rigthLeft === null || rigthLeft === "" || (rigthLeft.toUpperCase().charAt(0) !== "L" && rigthLeft.toUpperCase().charAt(0) !== "D")) {
        rigthLeft = "R";
    }
    else {
        rigthLeft = rigthLeft.toUpperCase().charAt(0);
    }
   
    //si nbIndex = true renvois la position dans le tableau, sinon renvois true ou false
    // rightleft indique si le pseuod est a gauche ou a droite du séprateur
   
   
    for (i = 0, i2 = array.length; i < i2; i++) {
        if (array[i].lastIndexOf(separator) === -1) {
            valeur1 = array[i];
        }
        else {
            if (rigthLeft.toUpperCase() === "R") {
                valeur1 = rightString(array[i], separator);
            }
            else {
                valeur1 = leftString(array[i], separator);
            }
        }
        if (value.lastIndexOf(separator) === -1) {
            valeur2 = value;
        }
        else {
            if (rigthLeft.toUpperCase() === "R") {
                valeur2 = rightString(value, separator);
            }
            else {
                valeur2 = leftString(value, separator);
            }
        }
        if (nbCase === false) {
            valeur1 = valeur1.toUpperCase();
            valeur2 = valeur2.toUpperCase();
        }
        if (nbTrim === true) {
            valeur1 = trim(valeur1);
            valeur2 = trim(valeur2);
        }
        if (valeur1 === valeur2) {
            if (nbIndex === true) {
                return i;
            }
            else {
                return true;
            }
        }
    }
    return false;
}


function isMemberv2(array, value, nbCase, nbTrim, nbIndex){

    if (array === undefined || array === null || isArray(array) === false || array.length === 0) {
        return false;
    }
    if (value === undefined || value === null || value === "") {
        return false;
    }
    if (nbCase === undefined || nbCase === null || nbCase === "" || isNaN(nbCase) || nbCase !== true) {
        nbCase = false;
    }
    if (nbTrim === undefined || nbTrim === null || nbTrim === "" || isNaN(nbTrim) || nbTrim !== true) {
        nbTrim = false;
    }
    if (nbIndex === undefined || nbIndex === null || nbIndex === "" || isNaN(nbIndex) || nbIndex !== true) {
        nbIndex = false;
    }
   
    //si nbIndex = true renvois la position dans le tableau, sinon renvois true ou false
    var i = 0, i2 = 0;
    for (i = 0, i2 = array.length; i < i2; i++) {
        if (nbCase === false) {
            if (nbTrim === true) {
                if (trim(array[i].toUpperCase()) === trim(value.toUpperCase())) {
                    if (nbIndex === true) {
                        return i;
                    }
                    else {
                        return true;
                    }
                }
            }
            else {
                if (array[i].toUpperCase() === value.toUpperCase()) {
                    if (nbIndex === true) {
                        return i;
                    }
                    else {
                        return true;
                    }
                }
            }
        }
        else {
            if (nbTrim === true) {
                if (trim(array[i]) === trim(value)) {
                    if (nbIndex === true) {
                        return i;
                    }
                    else {
                        return true;
                    }
                }
            }
            else {
                if (array[i] === value) {
                    if (nbIndex === true) {
                        return i;
                    }
                    else {
                        return true;
                    }
                }
            }
        }
    }
    return false;
}
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Re: @ismember en javascript

Messagepar gouff » 04 Oct 2013 à 09:58

Super Michael!!

Je teste ça. Un grand merci!
"Si tu ne réussis rien du premier coup, alors le saut en parachute n'est pas fait pour toi"
Avatar de l’utilisateur
gouff
Posteur habitué
Posteur habitué
 
Message(s) : 277
Inscrit(e) le : 11 Fév 2008 à 16:33
Localisation : Grenoble


Retour vers Développement

cron