IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Modification curseur avec texte entré dans 1 textfield


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2005
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 51
    Points : 27
    Points
    27
    Par défaut Modification curseur avec texte entré dans 1 textfield
    Bonjour a tous,
    Je voudrais mettre le texte entré dans un textfield et validé, en bas a gauche du curseur. Et pouvoir le changer aussi svt que necessaire.

    En gros je tape "2" dans les textfield, je valide, et un petit "2" se retrouve accroché a mon pointeur.

    ca fait un moment maintenant que je cherche, j'arrive bien a afficher un texte ou le retirer en cliquant sur des boutons, mais je n'arrive pas a afficher celui que je rentre dans un champ texte.

    Mon appli fonctionne a la fois sous IE6 et FF1.5.

    Auriez vous des idées ?
    Merci !

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Bon juste pour faire avancer la chose ... seulement j'ai un souci pour arriver à declencher le handlerMM sous firefox ... il n'a pas l'air d'accepter le onmousemove ...
    J'ai essayé de lancer la focntion dans un setInterval sans succès ...
    Mais ça tourne déja sous IE ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    <script type='text/javascript'>
    var x,y
    var flag=0
    var message
    var xpos
    var ypos
     
     
    function handlerMM(e){
    	x = (document.layers) ? e.pageX : document.body.scrollLeft+event.clientX
    	y = (document.layers) ? e.pageY : document.body.scrollTop+event.clientY
    	flag=1
    }
     
    function trace() {
    	if (flag==1 && document.all) {
       		xpos=x
    		ypos=y
     
    			var thisspan = document.getElementById('myspan')
    			thisspan.innerHTML=message
        		thisspan.style.posLeft=xpos+10
    			thisspan.style.posTop=ypos+10
        	}
     
     
    	else {
    			xpos=x
    			ypos=y
    			alert(posx +' ' +posy)
    			var thisspan = document.getElementById('myspan')
    			thisspan.innerHTML=message
        		thisspan.style.left=xpos+'px'
    			thisspan.style.top=ypos+'px'
        	}
     
    	var timer1=setTimeout("trace()",1)
    }
    </script>
     
    </head>
    <body onmousemove="handlerMM();" >
    <div style="position:absolute; width:12px;height:12px;z-index:2;" id="myspan"></div>
    <input type="text" onkeyup="message=this.value;trace();" />
     
    </body>
    </html>

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    arf !!
    la bataille fut rude !
    mais la grenouille de l'espace en sort encore uns fois vainqueur !!!


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    <script type='text/javascript'>
    var myx,myy
    var flag=0
    var message
    var xpos
    var ypos
     
     
    if (navigator.appName == 'Netscape') { 
    document.captureEvents(Event.MOUSEMOVE); 
    document.onmousemove = netscapeMouseMove; 
    } 
     
    function netscapeMouseMove(e) { 
     
    		myx = e.clientX; 
    		myy = e.clientY; 
    			flag=1
     
    	} 
     
    function microsoftMouseMove() { 
     
    		myx = window.event.x; 
    		myy = window.event.y; 
    		flag=1
     
    }
     
     
    function trace() {
     
     
    	if (flag==1 ) {
       		xpos=myx
    		ypos=myy
    			var thisspan = document.getElementById('myspan')
    			thisspan.innerHTML=message
        		thisspan.style.left=xpos+12+'px';//(!document.all)?xpos+15+'px':xpos+10+'px';
    			thisspan.style.top=ypos+12+'px';//(!document.all)?ypos+15+'px':ypos+10+'px';
        	}
     
     
    	var timer1=setTimeout("trace()",1)
    }
    </script>
     
    </head>
    <body onmousemove="microsoftMouseMove()">
    <div style="position:absolute; width:12px;height:12px;z-index:2;" id="myspan"></div>
    <input type="text" onkeyup="message=this.value;trace();" />
     
    </body>
    </html>

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juin 2005
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 51
    Points : 27
    Points
    27
    Par défaut
    ah ouais !!
    chapeau bas mister SpaceFrog !! la j'avoue etre bien largué, je suis encore qu'un junior en JS.

    Mais j'aimerais qd mm bien comprendre un chouille, si tu as un peu de temps, pourrais tu m'expliquer en gros, voir mettre des commentaires ?

    En tout cas, un grand merci, ca marche nickel !! :-)

    PS : euh finalement sous IE, j'ai pas le textfield... bizarre! tu penses que ca vient de ma conf (m'etonnerais un peu mais bon...) ?

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    pas l'input sous IE ???
    tu as fais un copier coller ???

    quelle version d'IE ???
    testé sous les deux chez moi et ça roule ...


    pour le principe en fait il y a un div sur la page qui focntionne comme une infobulle.
    le plus dur fut de récupérer la positoion de la souris de façon universelle
    d'ou les deux fonctions
    function netscapeMouseMove(e)
    et
    function MicrosoftMouseMove()
    qui captent en permanence (onmousemove du body) la position de la souris ...
    ensuite y'a plus qu'a mettre le contenu de l'input dans l'infobulle avec le innerHTML
    et lui attribuer le top et le left avec corrcetif pour bien positionne le teste par rapport au curseur ...

  6. #6
    Nouveau membre du Club
    Inscrit en
    Juin 2005
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 51
    Points : 27
    Points
    27
    Par défaut
    Ok, pb résolu, cela provenait du slash en trop a la fin du textfield.

    Merci pour les explications, je vois bien l'imbrication maintenant. Mais encore une chose : je n'arrive pas à voir l'interet du flag à 1. Pourrais-tu m'eclairer ?

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    ben au démarrage de la page si tu n'as pas encore les positions de myx et myy ça plante... il faut donc que tu sois au moins passé une fois dans la fonction pour que le script ne plante pas ...

  8. #8
    Nouveau membre du Club
    Inscrit en
    Juin 2005
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 51
    Points : 27
    Points
    27
    Par défaut
    ok, well understood.
    Aller, j'integre ca a mon code, c parti!

    Encore merci SpaceFrog !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment ouvrir un curseur avec une variable dans la requete
    Par bia0609 dans le forum Développement
    Réponses: 1
    Dernier message: 03/08/2012, 04h57
  2. [Batch] Modification des paramètres d'entrée dans une boucle FOR
    Par reppier dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 15/06/2009, 15h23
  3. Réponses: 4
    Dernier message: 08/07/2008, 17h27
  4. curseur placé par defaut dans un textfield
    Par gloglo dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 30/10/2007, 15h31
  5. Agir sur le texte entré dans un éditeur
    Par FatalError dans le forum C++
    Réponses: 1
    Dernier message: 24/10/2004, 14h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo