Modification dynamique d'une page par javascript [Résolu]

Signaler
Messages postés
22
Date d'inscription
jeudi 10 janvier 2002
Statut
Membre
Dernière intervention
25 juin 2008
-
Messages postés
22
Date d'inscription
jeudi 10 janvier 2002
Statut
Membre
Dernière intervention
25 juin 2008
-
bonjour,

J'ai un petit soucis don je n'arrive pas a trouver la solution
Voici un exemple qui fonctionne:

<SELECT id="option01" onchange="javascript:change_option01();">
 <OPTION value="v01" >valeur 1</OPTION>
 <OPTION value="v02" >valeur 2</OPTION>
 ........
 <OPTION value="v99" >valeur 99</OPTION>
</SELECT>

.......

<SCRIPT language=javascript type=text/javascript>
 <!--
 function change_option01()()
  {
   document.getElementById("option_02").innerHTML ="<SELECT id='option01'><OPTION value='v01' >valeur 1</OPTION><OPTION value='v02' >valeur 2.......</OPTION></SELECT>";
  }
 -->
</SCRIPT>

mais j'aimerais pouvoir modifier le code par l'ajout d'autre fichier , un peut comme cela:

<SELECT id="option01" onchange="javascript:change_option01();">
 <OPTION value="v01" >valeur 1</OPTION>
 <OPTION value="v02" >valeur 2</OPTION>
 ........
 <OPTION value="v99" >valeur 99</OPTION>
</SELECT>

.......

<SCRIPT language=javascript type=text/javascript>
 <!--
 function change_option01()()
  {
   document.getElementById("option_02").src =document.getElementById("type")(document.getElementById("type").selectedIndex).value+"html";
  }
 -->
</SCRIPT>

je ne peux malheureusement pas passer par du php
et tout coder dans la page ferais bcp trop de code sur une seule page
Quelqu'un aurait-il une idée ?

Merci d'avance.

 Thierry

2 réponses

Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
5
Bien le bonjour.
Pour ce qui est de remplir une div, tu ne peux pas utiliser src="..."
le plus simple serait de passer par AJAX et de remplir ta div avec le retour de la requête.

Un truc du genre :

/**
* Ajax request
*/
function HTTPRequest() // Function pour créer l'objet xmlhttprequest //
{
    var xmlhttp=false;
    try
    {
          xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
        try
        {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (e)
        {
            xmlhttp = false;
        }
    }
    
    if (!xmlhttp && typeof XMLHttpRequest != "undefined")
    {
        xmlhttp = new XMLHttpRequest();
    }
    return xmlhttp;
}            

/**
* Envois de la requête et récupération.
*/
function loadFromUrl(){
        var request = HTTPRequest();
        request.open("POST", document.getElementById("type")(document.getElementById("type").selectedIndex).value+".html", true);
        request.onreadystatechange = function() {  
            if(request.readyState == 4) {  
                var tmp = request.responseText;  
                document.getElementById("option_02").innerHTML = tmp;
            }
        }
        request.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
        request.send(null);
}

et sur le onchange de ton select :
onchange=" loadFromUrl()"

ça doit fonctionner

[o-_-o]
Messages postés
22
Date d'inscription
jeudi 10 janvier 2002
Statut
Membre
Dernière intervention
25 juin 2008

Merci bien pour cette info.

Je ne connaissais par du tout AJAX( ormis le produit nettoyant  , mais c'est pas le meme registre), même pas de non
Je vais essayer de trouver plus d'info sur celui-ci

 Thierry