[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
A voir également:
- [Javascript] Valeur d'un div dans un input...
- No video input enter sleep mode ✓ - Forum Matériel & Système
- A javascript error occurred in the main process - Forum Matériel & Système
- Telecharger javascript - Télécharger - Langages
- Input signal not found ✓ - Forum Matériel & Système
- Input not supported - Forum Ecran
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
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>
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