[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
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
A voir également:

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
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
0
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>
0
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
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
0