Récupérer la position d'un input

Eléphant du PHP | 52 Messages

19 juil. 2005, 09:10

Bonjour,

Je souhaiterais récupérer les coordonnées d'un input (text par exemple) dans le but d'afficher des informations juste en dessous de lui en fonction d'actions réalisées par l'utilisateur.
Est-ce possible, sachant qu'à l'écriture de ma page j'ai juste généré en php des input à la volée sans leur spécifier en dur des coordonnées.

Merci à tous.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

19 juil. 2005, 11:44

Pas besoin des coordonnées

Quand tu génère le code HTML, tu n'as qu'a afficher le contenu du Input juste en dessous du input

Mais sinon, à quoi est ce que ça te sert d'utiliser PHP pour afficher tes Input, surtout si tu ne mets rien dedans ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

19 juil. 2005, 11:46

Ce ne sont pas des coordonnées (X,Y) mais des identifiants et des noms.
Il faut nommer tes input.
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Eléphant du PHP | 52 Messages

19 juil. 2005, 11:50

Pas besoin des coordonnées

Quand tu génère le code HTML, tu n'as qu'a afficher le contenu du Input juste en dessous du input

Mais sinon, à quoi est ce que ça te sert d'utiliser PHP pour afficher tes Input, surtout si tu ne mets rien dedans ?
Je me suis mal exprimé:

En PHP, je génère en fonction du contenu de ma base toute une série de champs d'informations (type text) avec leur contenu.
Quand l'utilisateur clique cad donne le focus) sur un de ces input je veux faire afficher un <div> avec une série d'infos sous l'input sélectionné.
Je voulais donc trouver un moyen de récupérer les coordonnées de mon input pour pouvoir mettre proprement mon div juste dessous.

Pour l'instant, ce que je fais c'est que j'affiche mon div 20 pixels sous le clic de la souris mais c'est moins propre que de réussir à le caler sous mon input.

Précision: c'est le même div qui se "balade" entre tous les input et non pas un div par input (ce qui m'aurait évité d'avoir ce probleme de placement) tout simplement pour une question de poids de la page.

Eléphant du PHP | 52 Messages

19 juil. 2005, 11:51

Ce ne sont pas des coordonnées (X,Y) mais des identifiants et des noms.
Il faut nommer tes input.
Non, mes input sont nommés, pas de souci. Voir explication dans mon message juste au dessus.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

19 juil. 2005, 11:54

Plutôt que de passer un div qui se déplace, utilise les attribut HTML bien pratiques

si tu fait

Code : Tout sélectionner

<input type="text" name="..." title="La description complete de mon champ" />
Quand tu vas survoler le champ texte avec ta souris, le contenu de title va apparaitre.

Je suis en train de lire un bouquin sur les CSS qui explique bien qu'il ne faut pas TOUT faire avec les div
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

ViPHP
pjl
ViPHP | 2119 Messages

19 juil. 2005, 12:02

Ah bon, il existe des bouquins sur les CSS ? :shock:











:lol: :lol: :lol:

Eléphant du PHP | 52 Messages

19 juil. 2005, 12:04

Plutôt que de passer un div qui se déplace, utilise les attribut HTML bien pratiques

si tu fait

Code : Tout sélectionner

<input type="text" name="..." title="La description complete de mon champ" />
Quand tu vas survoler le champ texte avec ta souris, le contenu de title va apparaitre.

Je suis en train de lire un bouquin sur les CSS qui explique bien qu'il ne faut pas TOUT faire avec les div
Merci, mais ca ne convient pas.
J'ai un peu simplifié mes explications, mais un div est nécessaire car à l'intérieur j'ai des select, du texte, des boutons... pas juste une description du contenu de l'input

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

19 juil. 2005, 12:05

Ah bon, il existe des bouquins sur les CSS ? :shock:
:lol: :lol: :lol:
Je sais pas, un petit "CSS 2 : pratique du design web" :langue:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 138 Messages

19 juil. 2005, 22:51

Salut

Je n'ai pas trouvé de fonction qui permette de faire ce que tu veux directement.

Par contre tu peux créer une fonction qui le ferait avec les paramètres suivant:

clientX, clientY (coordonnées écran/Microsoft)
offsetX, offsetY (coordonnées relatives à l'objet/Microsoft) ici objet= ton input

pageX, pageY (coordonnées relatives à la fenêtre/Netscape)
screenX, screenY (coordonnées écran/Netscape)

dans laquelle tu fais la différence entre

clientX-offsetX -> coordonnées en X de ton input pour explorer
clientY-offsetY -> coordonnées en X de ton input pour explorer

screenX-pageX -> coordonnées en X de ton input pour mozilla
screenY-pageY -> coordonnées en X de ton input pour mozilla

pour plus de précision sur ces paramètres:
http://fr.selfhtml.org/javascript/objets/event.htm#top
Il y a des gens qui ont une bibliothèque comme des eunuques ont un harem (V. Hugo)

Eléphant du PHP | 52 Messages

20 juil. 2005, 08:55

Salut

Je n'ai pas trouvé de fonction qui permette de faire ce que tu veux directement.

Par contre tu peux créer une fonction qui le ferait avec les paramètres suivant:

clientX, clientY (coordonnées écran/Microsoft)
offsetX, offsetY (coordonnées relatives à l'objet/Microsoft) ici objet= ton input

pageX, pageY (coordonnées relatives à la fenêtre/Netscape)
screenX, screenY (coordonnées écran/Netscape)

dans laquelle tu fais la différence entre

clientX-offsetX -> coordonnées en X de ton input pour explorer
clientY-offsetY -> coordonnées en X de ton input pour explorer

screenX-pageX -> coordonnées en X de ton input pour mozilla
screenY-pageY -> coordonnées en X de ton input pour mozilla

pour plus de précision sur ces paramètres:
http://fr.selfhtml.org/javascript/objets/event.htm#top
Merci.