Changer la valeur de input avec XMLHTTP......

Signaler
Messages postés
968
Date d'inscription
jeudi 20 mai 2004
Statut
Membre
Dernière intervention
26 avril 2013
-
Messages postés
968
Date d'inscription
jeudi 20 mai 2004
Statut
Membre
Dernière intervention
26 avril 2013
-
Bonjour a tous,

voila je cherche a changer les valeurs de plusieurs input

situés ds un tableau sans recharger la page sur un onchange de balise <select>:



apres qlq recherches (notemment sur le tutode ToutJS)

mon code donne ca:

<script type="text/javascript">

function change_data() {



var xhr_object = null;

var data = null;

var s1 = form.nb_zone.selectedIndex + 1;



if(window.XMLHttpRequest) // Firefox

xhr_object = new XMLHttpRequest();

else if(window.ActiveXObject) // Internet Explorer

xhr_object = new ActiveXObject("Microsoft.XMLHTTP");

else { // XMLHttpRequest non supporté par le navigateur

alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");

return;

}



if(s1 != "" )

data = "s1="+s1;



xhr_object.open("POST", "change_data.php", true);



xhr_object.onreadystatechange = function() {

if(xhr_object.readyState == 4) {

var tmp = xhr_object.responseText.split(":");

if(typeof(tmp[1]) != "undefined") {

document.getElementById("id1").innerHTML = tmp[0];

document.getElementById("id2").innerHTML = tmp[1];

}

}

}

xhr_object.send(data);

}



</script>

suivi dans le mm fichier de ca:

<?php

......

<table class="select_fuz">

<tr>


<td>Max. difference between 2 setpoints(°C/MN)
:</td>


<td></td>

echo'</select></td>

<td>Number of zone :</td>

<td><select name="nb_zone">';



for($i=1;$i<=5;$i++)

{


echo '<option value=""
onchange="change_data();" >'.$i.'</option>';

}

echo'

</select>

.....?>



et mon fichier change_data.php:

<?php

require_once('connexion.php');

require_once('connect_mysql.php');

require_once('cod_para.php');

//connexion mysql

mysql_select_db($database, $dbconnect);

$requete = "SELECT * FROM delay_tuning WHERE nb_zone=".$_POST['nb_zone'];

mysql_select_db($database, $dbconnect);

$result = mysql_query($requete, $dbconnect) or die(mysql_error());

$retour = mysql_fetch_array($result);

mysql_close();

echo'',$retour[0],'.":"',$retour[1],'';

?>



Mais bien sur ca ne marche pas

je ne suis pas sur de mon raisonnement et si il est bon pourquoi ca ne fait rien???

merci de votre aide....d'avance.

(j'ai reposté mon code car j'avais deja validé pour une autre reponse sur mon ancien Post)

6 réponses

Messages postés
968
Date d'inscription
jeudi 20 mai 2004
Statut
Membre
Dernière intervention
26 avril 2013
1
Je vous en supplie je suis au bord du suicide!!!!

promis si vs m'aidez j'en parle au pere noel!!!!!

il sera encore plus cool avec vs.....
Messages postés
1352
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
19 novembre 2008
1
T'es sûr que le code est complet ??

t'as mis le <form> et le
et puis header('Content-type: text') ;

Essai de faire la comparaion avec le script suivant :

http://perso.wareteam.com/comment_demander_des_informations_au_serveur_sans_recharger_la_page-.php

Bonne Continuation.
PS: Si votre problème est résolu, prière de bien vouloir clôturer votre message par une réponse acceptée !
Messages postés
968
Date d'inscription
jeudi 20 mai 2004
Statut
Membre
Dernière intervention
26 avril 2013
1
non mon code n'est aps complet

par contre j'ai un peu plus ciblé le pb

ca vient de l'envoi de data

et de sa reception par la page change_data.php

apparement il ne recoit pas correctement

mais je ne sais,pas comment verifier ce qu'il recoit vu que change_data est sur une autre page....

je ne peux aps faire un echo ''..............
Messages postés
1352
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
19 novembre 2008
1
Vérifies que s1 n'est pas vide dans la fonction change_data : alert (s1);

PS: Si votre problème est résolu, prière de bien vouloir clôturer votre message par une réponse acceptée !
Messages postés
968
Date d'inscription
jeudi 20 mai 2004
Statut
Membre
Dernière intervention
26 avril 2013
1
c fait du coté JS je sais ce que j'envoi

apres je sais ce que je receptionne

a savoir de la merde

cad il me dit undefined index......

donc j'en deduit que c'est entre le send(data) et le $_POST[s1]

que ca deconne!!!
Messages postés
968
Date d'inscription
jeudi 20 mai 2004
Statut
Membre
Dernière intervention
26 avril 2013
1
en fait qd je fais un print_r($_POST);

die();



et que dans l'alert de la reponse et bien je recois array{}

et vide ......

c relou!!!!!!!!!!!