[JS] Afficher le contenu d'une variable dans un champ de texte/form

Afficher le contenu d'une variable dans un champ de texte/form [JS] - HTML/CSS - Programmation

Marsh Posté le 14-11-2006 à 22:35:06    

Bonjour à tous,
 
Je suis pas informaticien mais biologiste de formation et j'aurais besoin de vos lumières !!
 
J'utilise l'api google map et notamment une fonction qui permet à l'utilisateur de récupérer les coordonnées
GPS à l'endroit où il clique sur la carte (voir fonction 1 - ci dessous). Ensuite, miracle de l'AJAX ou simplement du javascript ? les valeurs sont affichées sans recharger le navigateur au niveau des <div id="mypoint1"></div>.  
Ca c'est la version de base.
 
Moi J'aurais voulu savoir si il était possible que les valeurs GPS retourner par la fonction s'affichent dans un champ de texte de formulaire (comme une valeur par défault) sans rechercher la page. Pour qu'ensuite l'utilisateur complete le formulaire etc...  
 
Je vous remercie d'avance ! je suis persuadé qu'il y a un génie parmis vous !
 
 
Fonction1  
---------
 
GEvent.addListener(map, "click", function(overlay, point)
 
{
map.clearOverlays();
if (point) {
map.addOverlay(new GMarker(point));
map.panTo(point);
msg1 = point.lat();
msg2 = point.lng();
document.getElementById("mypoint1" ).innerHTML = msg1;
document.getElementById("mypoint2" ).innerHTML = msg2;
}

Reply

Marsh Posté le 14-11-2006 à 22:35:06   

Reply

Marsh Posté le 14-11-2006 à 22:46:45    

tu fais un champs texte qui va s'appeller point1 :
<input type="text" id="mypoint1">
 
et dans ta fonction , tu remplaces :  
 
document.getElementById("mypoint1" ).innerHTML = msg1;  
 
par  
document.getElementById("mypoint1" ).value = msg1;  
 
idem avec l'autre

Reply

Marsh Posté le 15-11-2006 à 09:07:19    

flo850 a écrit :

tu fais un champs texte qui va s'appeller point1 :
<input type="text" id="mypoint1">
 
et dans ta fonction , tu remplaces :  
 
document.getElementById("mypoint1" ).innerHTML = msg1;  
 
par  
document.getElementById("mypoint1" ).value = msg1;  
 
idem avec l'autre


 
Ca ne fonctionne pas ! Peut-être que le innerHTML est important ! Je ne comprends pas pourquoi cela marche bien avec un div mais pas avec un input..
Peutetre que c pas possible sans recharger la page :(

Reply

Marsh Posté le 15-11-2006 à 09:36:39    

Peut-être qu'il faudrait que j'ajoute :
 
document.forms["mon formulaire"].elements["l'input concerné"].value="XXX ?"
 
dans la fonction google map .. ?
 
if (point) {
map.addOverlay(new GMarker(point));
map.panTo(point);
msg1 = point.lat();
msg2 = point.lng();
document.getElementById("mypoint1" ).innerHTML = msg1;
document.getElementById("mypoint2" ).innerHTML = msg2;
}

Reply

Marsh Posté le 15-11-2006 à 09:36:57    

le innerHTML est le contenu HTML d'un élément (sous-entend balise HTML)
pour taper dans el contenu d'un élément input c'est value :o

Reply

Marsh Posté le 15-11-2006 à 09:50:59    

gatsu35 a écrit :

le innerHTML est le contenu HTML d'un élément (sous-entend balise HTML)
pour taper dans el contenu d'un élément input c'est value :o


 
A ok merci ! mais comment tu ferais dans mon cas pratique ? :( J'ai pas l'impression que ca fonctionne pas même avec  
document.getElementById("mypoint1" ).value = msg1;  :(

Reply

Marsh Posté le 15-11-2006 à 10:07:42    

tu regardes les erreurs de la console JS des fois :o

Reply

Marsh Posté le 15-11-2006 à 10:37:09    

J'ai trouvé tout seul comme un grand
 
if (point) {
 
La partie API/JS
 
map.addOverlay(new GMarker(point));
map.panTo(point);
msg1 = point.lat();
msg2 = point.lng();
 
var obj = document.getElementById("gps1" ); obj.value= msg1;
var obj = document.getElementById("gps2" ); obj.value= msg2;
}
 
Le formulaire :)
 
<FORM name="general">
<INPUT type="text" value="initial" name="gps1" id="gps1">
<INPUT type="text" value="initial" name="gps2" id="gps2">
</FORM>
 

Reply

Marsh Posté le 15-11-2006 à 10:45:55    

Reply

Marsh Posté le 15-11-2006 à 12:24:55    


 
regarde dans quel état tu as mis FlorentG.  :o est-ce pour signifier "pas de tags en majuscule"? ou qu'il faut "fermer les input avec /> car balise solitaire"?  :??:  
 
 
Sinon, sans vouloir raconter de conneries, dans la mesure où les valeurs des input ne sont pas destinées à être soumises à un fichier de traitement, <form> est négligeable. Mais je souligne mon doûte, FlorentG risque de me taper si en effet, cette balise est indispensable à l'insertion d'un input quel qu'il soit, conformément au w3c ptetr...  :jap:  
 
 
 :hello:


Message édité par pmusa le 15-11-2006 à 12:27:30

---------------
intralase surgery [:cerveau love]
Reply

Marsh Posté le 15-11-2006 à 12:24:55   

Reply

Marsh Posté le 15-11-2006 à 12:29:09    

Nan, tu peux effectivement mettre des input où tu veux, la technologie des DTD ne peux pas techniquement imposer qu'un input aille dans un form. En fait il faut d'abord un conteneur, genre un div, puis les input dedans. Maintenant on peut mettre un input dans un div ou un p comme ça sans form :)

Reply

Marsh Posté le 15-11-2006 à 12:51:11    

Oups désolé pour la présentation ! Je suis pas informaticien, c'est plus de la bidouille et j'ai tendance à me concentrer plus sur le fond que sur la forme ..  Et du coup, les erreurs sont souvent plus difficiles à trouver !
 
Le formulaire que je veux créer est destiné à être envoyé vers une page de traitement et les valeurs à être insérées dans une bdd mysql. Donc il faudra que je complète les balises <form> :)
 
merci à vous !

Reply

Marsh Posté le 15-11-2006 à 12:59:00    

merci pour la precision Grand Chef.   :jap:


Message édité par pmusa le 15-11-2006 à 12:59:28

---------------
intralase surgery [:cerveau love]
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed