Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/12/2007, 18h07   #1
Invité de passage
 
Inscription : décembre 2007
Messages : 23
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 23
Points : 2
Points : 2
Par défaut Ajax xmlhttpRequest : affichage d'un résultat dans une div

Salut, j'ai créer un formulaire avec 2 champs: 1 input de type radio et un select. Le select se met a jour en fonction du premier bouton radio selectionné. Jusqu'ici tout va bien.
Ensuite, je souhaite que le choix effectué dans le select affiche un texte spécifique dans une div en dessous du formulaire; Là, ca va toujours. le probleme c'est qu'a chaque changement de selection dans le select, le resultat dans la div s'ajoute au précèdent. hors je veux que l'ancien texte disparaisse pour laisser place au nouveau.

Voila les codesle probleme vient surement des lignes en bleues.)
le formulaire
Citation:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>AJAXXMLHttpRequest</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" href="style.css" type="text/css" />
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<h1>Fiche </h1>

<div>
<form action="" method="post" enctype="text/plain">
<fieldset><legend><b>Choisissez un étudiantnn</b></legend>

<input type="radio" name="anneeEtude" value="1" checked="checked"/>SRC1
<input type="radio" name="anneeEtude" value="2"/>SRC2
<input type="radio" name="anneeEtude" value="3"/>LP

<label></label>
<select id="liste" readonly="readonly">
</select>
</fieldset>

</form>

<div id="code2">
</div>

</body>
</html>
et le fichier ajax:
Citation:
window.onload=function(event){
afficherId(event);
}
var xmlhttp = false;

function afficherId(event){
var tab = document.getElementsByTagName('input');
var nb = tab.length;
var i=0;
while (i<nb) {
tab.onclick=envoyerReponse;
i++;
}
}

function envoyerReponse(){

if (!xmlhttp && typeof XMLHttpRequest != 'undefined')
{
try
{
xmlhttp = new XMLHttpRequest();

}
catch (e)
{
xmlhttp = false;
}
}

if (xmlhttp)
{

xmlhttp.onreadystatechange=traiterReponse;
;
sendData('POST', 'remplir.php',"anneeEtude="+this.value );
}
return xmlhttp;
}




function traiterReponse() {

if (xmlhttp.readyState==4 ) {

if (xmlhttp.status==200) {

document.getElementById("liste").innerHTML=xmlhttp.responseText;
document.getElementById("liste").onchange=changerInfos;
document.getElementById("code2").value=document.getElementById("liste").value;

}else {

}
}
}

function changerInfos(){


affiche = document.getElementById("code2");
noeudTexte = document.createTextNode(document.getElementById("liste").value);
affiche.appendChild(noeudTexte);


}

function sendData(method, url, data){


if (!xmlhttp){
return false;
}

if(method == "GET"){
if(data == null){
xmlhttp.open("GET", url, true); //ouverture asynchrone
}else{
xmlhttp.open("GET", url+"?"+data, true);
}
xmlhttp.send(null);
}else if(method == "POST"){
xmlhttp.open("POST", url, true); //ouverture asynchrone
xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xmlhttp.send(data);

}
return true;
}
Bien sur, tout ça est en lien avec un fichier php et une base de données mais le probleme n'est pas là.

Je pense que je devrais initialiser la div qui reçoit la valeur mais je n'y arrive pas !
kataboy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2007, 15h47   #2
Invité de passage
 
Inscription : décembre 2007
Messages : 23
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 23
Points : 2
Points : 2
Bon, en fait j'ai trouvé tout seul..
Par contre, impossible d'avoir des sauts de ligne dans le contenu qui s'affiche, une idée?
kataboy est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h37.


 
 
 
 
Partenaires

Hébergement Web