[Javascript] Valeur d'un div dans un input...
Fermé
johnburgi
-
9 févr. 2010 à 14:40
gaerebut Messages postés 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 - 9 févr. 2010 à 15:51
gaerebut Messages postés 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 - 9 févr. 2010 à 15:51
Bonjour à tous,
Sur mon site internet, <div id="timediv"></div> permet d afficher en AJAX la ville du dernier internaute et s actualise toutes les 5 secondes. Je souhaiterais afficher cette info comme valeur d'un input text.
Exemple:
<input type="text" name="aaa" id="aaa" value="VALEUR_DE_LA_DIV" onfocus="this.value='';/>
J'ai essayé value="this.value=document.getelementbyid('timediv').innerHTML" mais ça ne fonctionne pas/
Quelqu'un peut-il m'aider svp.
Merci
Sur mon site internet, <div id="timediv"></div> permet d afficher en AJAX la ville du dernier internaute et s actualise toutes les 5 secondes. Je souhaiterais afficher cette info comme valeur d'un input text.
Exemple:
<input type="text" name="aaa" id="aaa" value="VALEUR_DE_LA_DIV" onfocus="this.value='';/>
J'ai essayé value="this.value=document.getelementbyid('timediv').innerHTML" mais ça ne fonctionne pas/
Quelqu'un peut-il m'aider svp.
Merci
A voir également:
- [Javascript] Valeur d'un div dans un input...
- Telecharger javascript - Télécharger - Langages
- Javascript round ✓ - Forum Javascript
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- No video input enter sleep mode ✓ - Forum Matériel & Système
- Input signal not found ✓ - Forum Matériel & Système
3 réponses
gaerebut
Messages postés
1017
Date d'inscription
mardi 30 octobre 2007
Statut
Membre
Dernière intervention
22 novembre 2013
171
9 févr. 2010 à 15:28
9 févr. 2010 à 15:28
Salut,
déjà tu as une faute, sur le onfocus ou tu ne referme pas le guillement ! lol
Ensuite, on ne peut pas appeller du JS dans value, donc tu doit trouver un autre moyen
Par exemple, le plus proprement possible serait d'afficher le texte dans le input lorsque ta fonction ajax à reçu la réponse du serveur. Donc au moment ou tu affiche la réponse dans le div, tu affiche également la réponse dans le input !
document.getElementById('timediv').value = ajaxResponse;
En espérant t'avoir aidé ! :-)
A+
Gaerebut
déjà tu as une faute, sur le onfocus ou tu ne referme pas le guillement ! lol
Ensuite, on ne peut pas appeller du JS dans value, donc tu doit trouver un autre moyen
Par exemple, le plus proprement possible serait d'afficher le texte dans le input lorsque ta fonction ajax à reçu la réponse du serveur. Donc au moment ou tu affiche la réponse dans le div, tu affiche également la réponse dans le input !
document.getElementById('timediv').value = ajaxResponse;
En espérant t'avoir aidé ! :-)
A+
Gaerebut
Alors, peux-tu m'en dire plus stp.
Voici le code, il servira à d'autres:
Boo.php
Ajax.js
Ma page
Voici le code, il servira à d'autres:
Boo.php
<?php // Configure connection settings $db = 'aaaaaaaaaaaaaaa'; $db_admin = 'bbbbbbbbbbbbbb'; $db_password = 'ccccccccccccccccccc'; $tablename = 'dddddddddddddddddddddd'; // Title // Connect to DB $sql = mysql_connect("eeeeeeeeeeeeeeee", $db_admin, $db_password) or die(mysql_error()); mysql_select_db("$db", $sql); // Fetch the data $query = "SELECT xxxxxxxxxxxx FROM `yyyyyyyy` WHERE idsite=11 ORDER BY `idvisit` DESC LIMIT 0,1"; $result = mysql_query($query); // Return the results, loop through them and echo while($row = mysql_fetch_array($result, MYSQL_ASSOC)) { echo "{$row['location_geoip_city']}"; } ?>
Ajax.js
// Customise those settings var seconds = 5; var divid = "timediv"; var url = "boo.php"; //////////////////////////////// // // Refreshing the DIV // //////////////////////////////// function refreshdiv(){ // The XMLHttpRequest object var xmlHttp; try{ xmlHttp=new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari } catch (e){ try{ xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer } catch (e){ try{ xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } catch (e){ alert("Your browser does not support AJAX."); return false; } } } // Timestamp for preventing IE caching the GET request fetch_unix_timestamp = function() { return parseInt(new Date().getTime().toString().substring(0, 10)) } var timestamp = fetch_unix_timestamp(); var nocacheurl = url+"?t="+timestamp; // The code... xmlHttp.onreadystatechange=function(){ if(xmlHttp.readyState==4){ document.getElementById(divid).innerHTML=xmlHttp.responseText; setTimeout('refreshdiv()',seconds*1000); } } xmlHttp.open("GET",nocacheurl,true); xmlHttp.send(null); } // Start the refreshing process var seconds; window.onload = function startrefresh(){ setTimeout('refreshdiv()',seconds*1000); }
Ma page
<script src="ajax.js"></script> <script type="text/javascript"><!-- refreshdiv(); // --></script> <div id="timediv"></div>
gaerebut
Messages postés
1017
Date d'inscription
mardi 30 octobre 2007
Statut
Membre
Dernière intervention
22 novembre 2013
171
9 févr. 2010 à 15:51
9 févr. 2010 à 15:51
Re,
ok c'est simple, tu as juste à ajouter une ligne ici:
Donc ça devient ça:
Bien sûr, tu dois ajouter un champs input ayant l'ID 'aaa' !
Voila !
Bien à toi,
Gaerebut
ok c'est simple, tu as juste à ajouter une ligne ici:
xmlHttp.onreadystatechange=function(){ if(xmlHttp.readyState==4){ document.getElementById(divid).innerHTML=xmlHttp.responseText; setTimeout('refreshdiv()',seconds*1000); }
Donc ça devient ça:
xmlHttp.onreadystatechange=function(){ if(xmlHttp.readyState==4){ document.getElementById(divid).innerHTML=xmlHttp.responseText; document.getElementById('aaa').value=xmlHttp.responseText; // Nouvelle ligne setTimeout('refreshdiv()',seconds*1000); }
Bien sûr, tu dois ajouter un champs input ayant l'ID 'aaa' !
Voila !
Bien à toi,
Gaerebut