begin process at 2010 03 19 20:00:20
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Evènements

 > 

Executer la fonction situer dans le onblur d'un input


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Executer la fonction situer dans le onblur d'un input

mardi 21 octobre 2008 à 18:24:03 | Executer la fonction situer dans le onblur d'un input

Erick007

Bonjour,

J'ai un petit problème que je ne sais pas si cela se fait. Je vous explique en premier ce que je veut faire, je me fais une fonction javascript (qui elle se fait appeler dans le onsubmit de la balise form) qui va aller vérifier les inputs de type (text, password et file) ayant l'attribut onblur.

Dans cette attribut onblur, je vais appeler une fonction javascript qui elle va me retourner un boolean. Ce qui va permettre de verifier chaque champ lorsqu'on perd le focus, mais je veut également verifier chacun de ces champs (ayant l'attribut onlbur) dans ma fonction appeler dans le onsubmit.

Voila ma question, je voudrait que dans ma boucle qui vérifie chacun des champs, qui exécute la fonction qui est dans le onblur de ce champs et qui me retourne le boolean.


Voici mon code (je tien a mentionner que je nai pas terminer, mais si je regle ce probleme... cela pourrais me sauver enormement de job):

Ma fonction javascript appeler dans le onsubmit qui verifie chacun des champs:
function checkForm(myForm) {
    var isValid   = true;
    var listInput = myForm.getElementsByTagName("input");
    for (var i = 0; i < listInput.length; i++) {
        var item = listInput[i];

        if (((item.type == "text") || (item.type == "password") || (item.type == "file")) && (item.onblur != undefined)) {
            alert(item.onblur);
            isValid = checkField(item); //Voila c'est ici, on ce moment j'utilise ma fonction directement.
//
Mais je voudrait en quelque sorte que javascript me permetrait sa: isValid =item.onblur;
// Mais sa ne fonctionne pas, il n'execute pas la fonction qui est comme valeur dans l'attribut onblur.
        }
    }

    if (isValid) {
        return true;
    } else {
        alert("not valid");
        return false;
    }
}

Ma fonction javascript qui se fait appeler dans le onblur:
function checkField(myField) {
    if (myField.value != "") {
        return true;
    } else {
        return false;
    }
}

Mon exemple html que je me serta fin de tests:
<form id="inscription" onsubmit="return checkForm(this);">
    <input id="txtTexte" type="text" value="je suis un texte"/><br/>
    <input id="txtTexte2" type="text" value="je suis un texte2"/><br/>
    <input id="txtTexte3" type="text" value="je suis un texte3" onblur="return checkField(this);"/><br/>

    <input id="btnSend" type="submit" value="go!"/>
</form>

Merci
mercredi 22 octobre 2008 à 10:11:29 | Re : Executer la fonction situer dans le onblur d'un input

bultez

Membre Club
Réponse acceptée !
bonjour,

getAttribute ?

    function checkForm(frm)
    {    for ( n=0;n<frm.elements.length;n++)
         {    if (frm.elements[n].getAttribute("onblur"))
             {   il y a un onblur sur le champ    }   
        }
   }

Cordialement

          Bul [mon Site] [M'écrire]         

mercredi 22 octobre 2008 à 11:15:01 | Re : Executer la fonction situer dans le onblur d'un input

bultez

Membre Club

ou même
( pour compatibilité avec IE par exemple que je n'avais pas regardé ! )

<script>
    function checkForm(frm)
    {    for ( n=0;n<frm.elements.length;n++)
        {    if ( frm.elements[n].onblur )
            {    eval( frm.elements[n].onblur() );    }    // "au plus simple" pour exécuter
        }                                                            // peut mieux faire ( j'aime pas eval )
        return false;
    }
</script>
<form onsubmit="return checkForm(this);">
    <input id="txtTexte" type="text" value="je suis un texte"/><br/>
    <input id="txtTexte2" type="text" value="je suis un texte2"/><br/>
    <input id="txtTexte3" type="text" value="je suis un texte3" onblur="alert('ok');"/><br/>
    <input id="btnSend" type="submit" value="go!"/>
</form>

Cordialement

          Bul [mon Site] [M'écrire]         

mercredi 22 octobre 2008 à 14:53:56 | Re : Executer la fonction situer dans le onblur d'un input

Erick007

Haa super, c'est ce que j'avais de besoin getAttribute


Lol en entendant de ta réponse, j'avais régler mon problème, mais getAttribute va me permetre de remplacer 4 lignes.

Regarde comment j'avais passer lol, j'ai converti ma fonction onblur en string, ensuite aller chercher les instructions qui avais dans cette fonction.

myFunc = item.onblur.toString();
var posFirst = myFunc.lastIndexOf("{") + 1;
var posLast = myFunc.lastIndexOf("}") - 1;
myFunc = myFunc.substring(posFirst, posLast);

Merci beaucoup


jeudi 23 octobre 2008 à 09:42:50 | Re : Executer la fonction situer dans le onblur d'un input

bultez

Membre Club
attention... getAttribute ne fonctionne pas génial, et
   pas de la même manière, avec tous les navigateurs.
tente plutôt           if ( frm.elements[n].onblur )  ....
          Bul [mon Site] [M'écrire]         

jeudi 23 octobre 2008 à 14:35:29 | Re : Executer la fonction situer dans le onblur d'un input

Erick007

Bonjour,

j'ai esseyer frm.elements[n].onblur mais sa me retourne la même chose que lorsque je fais item.onblur. C'est a dire qui me retourne une fonction qui est:

fonction onblur(event) {
    checkField(this);
}


Et je ne sais comment faire exécuter cette fonction pour que j'arrive a faire exécuter ces instructions.
Avant que tu me montre getAttribute, je prennais cette fonction onblur je la transformait en string et je pouvais aller chercher que les instructions pour pouvoir les faire exécuter.

Je vais vérifier pour getAttribute si ce que je veut faire ce fait sur les navigateurs connus, merci de m'avoir avertis.


jeudi 23 octobre 2008 à 14:44:37 | Re : Executer la fonction situer dans le onblur d'un input

bultez

Membre Club

tel que tu fais, tu remplace la fonction onblur
et this... c'est cette fonction.

le this faut le mettre dans l'appel
( là j'ai mis alert.. c'est pareil )

<script>
    function checkForm(frm)
    {    for ( n=0;n<frm.elements.length;n++)
        {    if ( frm.elements[n].onblur )
            {    eval( frm.elements[n].onblur() );    }    // "au plus simple" pour exécuter
        }                                                            // peut mieux faire ( j'aime pas eval )
        return false;
    }
</script>
<form onsubmit="return checkForm(this);">
    <input id="txtTexte" type="text" value="je suis un texte"/><br/>
    <input id="txtTexte2" type="text" value="je suis un texte2"/><br/>
    <input id="txtTexte3" type="text" value="je suis un texte3" onblur="alert(this.value);"/><br/>
    <input id="btnSend" type="submit" value="go!"/>
</form>

          Bul [mon Site] [M'écrire]         

jeudi 23 octobre 2008 à 17:02:42 | Re : Executer la fonction situer dans le onblur d'un input

Erick007

Ok c'est bon sa fonctionne.

Et pour getAttribute, effectivement pour internet explorer il me retourne:

function anonymous() {
     checkField(this);
}


Au lieux de firefox que lui me retourne tout simplement:

checkField(this);

Merci
jeudi 23 octobre 2008 à 18:37:22 | Re : Executer la fonction situer dans le onblur d'un input

bultez

Membre Club
exact, c'est l'une des différence
( pas la seule je crois, mais Alzheimer me guette  )
@+


Cette discussion est classée dans : javascript, fonction, item, appeler, onblur


Répondre à ce message

Sujets en rapport avec ce message

appeler fonction javascript depuis html [ par glipper ] Bonjour,J'ai créé une fonction javascript (je ne sais pas si elle marche, mais ce n'est pas tellement mon probleme actuel) :function Redirig(){ wind appel fonction [ par matmojito ] Bonjour à tous!!!J'ai un petit pb de syntaxe.Dans une page html pour appeler une fonction javascript définie plus haut je fais comme ça, ça marche:mai Appeler une fonction javascript avec un href [ par sylcasi ] Bonjour,Est-il possible d'appeler du code javascript par l'intermediaire d'un href ?en fait je voudrais pouvoir executer un code en cliquant sur un mo Appel javascript [ par jorrie ] Bonjours , comment puis je appeler une fonction javascript a chaque fois que j'ecris quelque chose dans un textbox et nom un input box Je developpe , Affichage d'un message lors du chargement d'une fonction [ par stef1589 ] Bonjour tout le monde,je suis à la recherche d'une fonction javascript qui, lorsque une fonction javascript est en cours, me mette un message du style tester variable php dans fonction javascript [ par xzonz ] bonjour a toutes et tous ma question est simplej'aimerai tester une variable php dans une fonction javascript ...j'ai un champs texte et un bouton sub Rechargement AJAX javascript non réactualisé [ par Steph115 ] Bonjour,J'ai un petit souci depuis pas mal de temps mais qui en ce moment devient problématique.J'ai sur une page une partie en AJAX qui réactualise u get hostname and DNS suffix for pac file usage [ par musashi75 ] Bonjour à toutes et à tous !Je suis en train de mettre en place des scripts de configuration automatique d'Internet Explorer (pac file).Un pac file es appeler une fonction dans un frame a partir d'un autre frame [ par sandra26 ] salut, jai 2 frames, je voudrais savoir comment je peux faire pour appeler une fonction qui se trouve dans mon frame1, a partir de mon frame2 qd un ut Appeler une fonction dans un js externe sans évènement [ par el_teedee ] Salut,étant une quiche en javascript, je voudrais savoir la syntaxe pour appeler une fonction f1( ) dans un fichier scrip.js depuis une jsp.Pour l'ins


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales