[Javascript] Valeur d'un div dans un input...
johnburgi
-
gaerebut Messages postés 1060 Statut Membre -
gaerebut Messages postés 1060 Statut Membre -
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
Configuration: Windows 7 Firefox 3.5.7
3 réponses
-
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 -
Alors, peux-tu m'en dire plus stp.
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>
-
Re,
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