Changer des propriétés

cedriclomb Messages postés 275 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 27 avril 2010 - 29 août 2007 à 14:07
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 30 août 2007 à 14:34
Bonjour,

Voila j'ai un formulaire avec des champs qui ressemble a ca
  <label for= "qf_a29936">Envoie un mail aux responsables après la validation du formulaire public</label>  

Et pour en faire des infos bulles je pensair faire tout simplement :

<script language="javascript" type="text/javascript">
function initForm(){
    var labels=document.getElementsByTagName('label');
    for(i=0;i<labels.length; i++){
        labels[i].className='info';
        content=labels[i].innerHTML;
        labels[i].innerHTML='&nbsp;';
       
//Jusque la ca marche
        labels[i].onMouseOver ='alert("ok")';
    }
}
initForm();
</script>

Le seul probleme c'est que le onMouseOvern'est pas ajouté et donc pas reconnu et aucun evenement, j'ai ensuite essayé sur un onclick de la checkbox meme resultat..

A l'aide.....Je vais m'arracher les cheveux !!

13 réponses

cedriclomb Messages postés 275 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 27 avril 2010 1
29 août 2007 à 14:09
EUREKA

labels[i].innerHTML='[# &nbsp;]';
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
29 août 2007 à 14:14
Salut,

Ou alors :

function click() {
    alert('ok');
}

labels[i].onMouseOver = click;
______________________________________
DarK Sidious
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 août 2007 à 15:12
ou  labels[i].onMouseOver=function()    { alert("ok")'; }<hr />
Cordialement                Bul         [mon Site]     [M'écrire]<hr />En général, c'est absurde de généraliser.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 août 2007 à 15:24
' en trop... il fallait lire :


labels[i].onMouseOver=function()    { alert("ok"); }
la solution que je préfère car on peut y passer des paramètres.



<hr />




Cordialement                Bul     [mon Site]     [M'écrire]
<hr />


En général, c'est absurde de généraliser.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
29 août 2007 à 15:41
Salut,

Tiens d'ailleurs, bultez tant que t'es là :

Comment on peut lui passer un paramètre à la fonction ? Du style :
labels[i].onMouseOver=function()    { i = i + 1; alert(i); }
______________________________________
DarK Sidious
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 août 2007 à 15:59
ah ben... pas comme ça 

    (     enfin je ne sais pas, c'est à creuser !
            et j'aimerai bien savoir aussi !
            j'ai eu ce souci, et j'ai du résoudre "autrement"     )

mais :

labels[i].onMouseOver= function()    { alert( this.innerHTML ); }   // par exemple

    parce qu'effectivement



labels[i].onMouseOver =function()    { alert(i); }
    va donner le "dernier i".






<hr />




Cordialement                Bul         [mon Site]     [M'écrire]
<hr />


En général, c'est absurde de généraliser.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 août 2007 à 16:28
euh, finalement en te relisant... ce que tu fais baigne !
mais je voulais utiliser l'indice donné dans l'appel et non pas
créer une variable globale !

<form name="frm">
   
   
</form>
<script>
    var i=0;
    for ( var n=0;n<document.frm.t.length;n++)
    {    document.frm.t[n].onmouseover=function() {    i++; alert(n+"\t"+i);    }
    }
</script>

mais ce serait plus class, et c'était là mon interrogation,
    d'utiliser directement n ( ici )

<hr />



Cordialement                Bul         [mon Site]     [M'écrire]
<hr />

En général, c'est absurde de généraliser.
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
29 août 2007 à 17:00
Salut,

Bultez : c'est justement ce que je cherche à faire (appeler une fonction dans une boucle) ! :( Tu as une solution ?

Car j'ai un formulaire avec une table contenant une bonne centaine de DIV, et à chacun, j'affiche un combo lors d'un click sur la cellule de la table.

Le problème c'est que la page HTML pèse lourd du coup (la répétition des onclick="function(3, 4);" ca fait pas mal d'octets pour rien au final !
______________________________________
DarK Sidious
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
30 août 2007 à 05:52
   
document.frm.t[n].onmouseover=function() {    fonction_commune(paramètres...);   }
    c'est ce que tu veux ? j'ai compris ? ou je suis totalement à coté de mes pompes ?
    mais avec l'indice ou l'index (n),  je ne sais pas faire,
        je vais poser la question dans ce forum, c'est fait pour ça malgré tout.


<hr />




Cordialement                Bul         [mon Site]     [M'écrire]
<hr />


En général, c'est absurde de généraliser.
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
30 août 2007 à 06:11
Salut,

Te prends pas la tête, je vais ouvrir un nouveau topic, mais sinon, oui c'est à peu près ce que je veux obtenir : j'ai un tableau à deux dimension qui doit afficher un combo. Au départ, je mettais le combo directement dans chaque cellule de la table, je montais à 1 Mo environ pour la page !!! Je te dis pas le temps de chargement !

Du coup, j'ai fait différement : j'ai mis juste un DIV pour chaque cellule, et je n'affiche le combo que lors du clic dans la cellule : je suis descendu à 300 Ko pour ma page, ce qui est encore assez gros !

Du coup, j'avais pensé définir l'évenement onclick en dynamique, et non plus en static pour y gagner encore quelques Ko !

Et du coup, je cherche un truc du genre :
for (var i = 0; i < 100; i++) {
    for (var j = 0; j < 100; j++) {
       document.getElementById('cell' + i + '_' + j).onmouseover = function() {
             click(i, j);
          }
    }
}

mais comme tu le fais remarquer, la fonction click est bien déclenchée lors du click sur la cellule, mais avec pour indice : 100, 100 !
______________________________________
DarK Sidious
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
30 août 2007 à 13:21
PetoleTeam a parfaitement répondu a la question.        c'est ici Darksidious
<hr />



Cordialement            Bul         [mon Site]     [M'écrire]<hr />
En général, c'est absurde de généraliser.
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
30 août 2007 à 14:06
Salut,

Tiens je connaissait pas cette propriété Index ! Merci beaucoup !

______________________________________
DarK Sidious
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
30 août 2007 à 14:34
moi non plus.  ce n'est pas une "propriété"
    tu peux mettre toto. ça baigne     ;-)
et le merci c'est à PetOleTeam qu'on le doit.
<hr />



Cordialement                Bul         [mon Site]     [M'écrire]<hr />
En général, c'est absurde de généraliser.
0
Rejoignez-nous