Utiliser ajax pour ouvrir une nouvele page dans la page en cours

msiham05 Messages postés 5 Date d'inscription mercredi 6 décembre 2006 Statut Membre Dernière intervention 29 mars 2007 - 27 mars 2007 à 16:28
msiham05 Messages postés 5 Date d'inscription mercredi 6 décembre 2006 Statut Membre Dernière intervention 29 mars 2007 - 29 mars 2007 à 18:55
salut a tous le monde<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>


j'ai un probleme dans l’utilisation d’ajax,


j'ai une page « sondage.asp » dans la quelle je veux afficher la page « resultat.asp » si je clique sur l'image de "voter" ou l'image de "afficher le résultat".


j'ai réussi de faire ça on insérant un div dans la page sondage mais maintenant je veut que la page sondage soit remplacer par la page résultat bien sur on affichant aussi l'image de "en cours de chargement".


Est ce que quelqu'un peut m'aider


En ajax



 

4 réponses

Zobibol Messages postés 469 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 20 février 2017 6
27 mars 2007 à 17:38
salut, tout seul ;o)
Et en gardant ta div mais qui tiendrais dans tous l'écran .. avec un z-Index inférieur à celui de ton image "en cours de chargement" mais superieur à tout tes contrôle ?
du genre
.MYAjaxContent{
    position:absolute;
    top:0px;
    left:0px;
    width::100%;
    height:100%;
    background-color:white;
    z-Index: [Il faut qu'il soit inférieur à ton image d'attente];
    visibility:hidden;
}

et une fois ta requête lancé, tu la mêts en visible la fenêtre et zoup...

non ?

[o-_-o]
0
msiham05 Messages postés 5 Date d'inscription mercredi 6 décembre 2006 Statut Membre Dernière intervention 29 mars 2007
28 mars 2007 à 12:08
Merci pour votre aide <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>


Mais vous m'avez pas précisé ou inséré le contenu "MYAjaxContent" et si j'insère un div qui tiendra toute la page ça me donne erreur Veullez me précisé ou l'insérer.
je veux vraiment vous montrer mon code pour que vous puissez me comprendre le voila :
le fichier "ajaxmethod.js"
function ObjectDiv( div , content )
        {
                if ( document.getElementById )
                {
                        document.getElementById( div ).innerHTML = content;
                }
                        else
                {
                        if ( document.layers )
                        {
                                document.div.innerHTML = content;
                        }
                                else
                        {
                                document.all.div.innerHTML = content;
                        }
                }
        }
       
        function Goto( FILE , METHOD , DATA , div )
        {
                if( METHOD == 'GET' && DATA != null )
                {
                        FILE += '?' + DATA;
                        DATA = null;
                }


                var httpRequestM = null;  


                        if( window.XMLHttpRequest )
                        {   // Firefox  
                            httpRequestM = new XMLHttpRequest();
                        }
                                else if( window.ActiveXObject )
                        {   // Internet Explorer  
                            httpRequestM = new ActiveXObject( "Microsoft.XMLHTTP" );
                        }
                                else
                        {   // XMLHttpRequest non supporté par le navigateur  
                            return "Votre navigateur ne supporte pas les objets XMLHTTPRequest...";
                        }  
  
                                httpRequestM.open( METHOD , FILE , true );
                                httpRequestM.onreadystatechange = function()
                                {  
                                        if( httpRequestM.readyState == 4 )
                                        {
                                                ObjectDiv( div , httpRequestM.responseText );
                                        }
                                }
               
                        if( METHOD  == 'POST' )  
                        {
                                httpRequestM.setRequestHeader( "Content-type" , "application/x-www-form-urlencoded" );
                        }


                 httpRequestM.send( DATA );  
        }


        function ViewContent( div , href , method , data )
        {
                var wait = "
" +
                           " Chargement en cours.....

" +
                           "" +
                           "
";


                ObjectDiv( div , wait );
                Goto( href , method , data , div );
              
       return false;
       
  }

la page "sondage.asp"
<!--#include file ="Connexions/connexion.asp" -->
<script type="text/javascript" src="./ajaxMethod.js"></script>



<%
date_s=Date()
jours=Day(date_s)
moiss=Month(date_s)
annees =Year(date_s)
date_s=annees&"/"&moiss&"/"&jours
SQL = "select * from sondages where codelangue="+cstr(codelangue)+" and date_debut <= #"&date_s&"# and date_fin >= #"&date_s&"# order by date_debut "
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open SQL,Conn
if rs.eof=false then
Question=RS("Question")
session("NbreReponsePossible")=RS("NbreReponsePossible")%>
\" >
 
  <%
Alignement=\"right\"
If Alignement=\"right\" Then %>
  ----

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#1575;&#1587;&#1578;&#1600;&#1600;&#1591;&#1604;&#1575;&#1593; &#1575;&#1604;&#1585;&#1571;&#1610;,
 
<% Else %>

  ----

    " size="<%=prin_t%>" color="<%=couleurtexte%>">Sondage,
 
<% End If %>

  ----
<% If rs(\"image\")<>\"\" Then %>
    " border="0">,
  <% End If %>
  ----

    ,
 
  ----

    " size="<%=prin_t%>" color="<%= couleur_sous_titre %>"><%=Question%></d> ,
 
  <form method=\"POST\" action=\"resultat_s.asp?code=<%=rs(\"Code\")%>&codelangue=<%=codelangue%>\"  target=Vote  style=\"MARGIN: 4px\" %>
    <% for i= 0 to session(\"NbreReponsePossible\")-1 %>
    ----

              " name="RSondage" <%if i=0 then Response.write("checked")%>>
        " size="<%= taillessrubrique %>" color="<%= couleurssrubrique %>">
     
   <%'pour le titre de la radio et ça emporte le champ Q1 et Q2 jusqu'a le nombre de question possible%>
  <%=RS("Q"+cstr(i))%>,
   
    <% next %>
  
  <% If Alignement=\"right\" Then %>
  ----

           &codelangue=<%=codelangue%>' , 'GET' , null );" href="javascript:void(0);">

       
  <!-- voila le lien qui fai l'appel du page resultat.asp -->
  &codelangue=<%=codelangue%>&ref=1' , 'GET' , null );" href="javascript:void(0);">
       ,
   
 
  <% Else %>
 
    ----

           &codelangue=<%=codelangue%>' , 'GET' , null );" href="javascript:void(0);">
           
  
&codelangue=<%=codelangue%>&ref=1' , 'GET' , null );" href="javascript:void(0);"> 
 ,
   
 <% End If %>
  </form>
  <% If Alignement=\"right\" Then %>
  ----

    &ref=8">" size="<%= tailletexte %>" color="<%= couleurtexte  %>" >ÃÑÔíÝ ÅÓÊØáÇÚ ÇáÑÃí,
 
  <% Else %>
  ----

    &ref=8">" size="<%= tailletexte %>" color="<%= couleurtexte  %>" >Archives sondages,
 
<% End If %>

<% else
end if %>
<%
set RS=nothing





%>

 
     


  









 
0
Zobibol Messages postés 469 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 20 février 2017 6
29 mars 2007 à 11:41
Re.
Le problème, c'est que l'asp, je sais pas trop quoi en faire mais je pense que l'erreur vient du fait que lorsque le chargement est terminé
            httpRequestM.onreadystatechange = function()
                                {  
                                        if( httpRequestM.readyState == 4 )
                                        {
                                                ObjectDiv( div , httpRequestM.responseText );
                                        }
                                }
la valeur de div est null car ce n'est pas une variable "globale" du coup, c'est pas facile de retrouver le container...

il faudrait voir pour déclarer soit une variable globale ( du genre )

var containerId = "";
dans ajaxmethod.js
et ensuite dans ta méthode ViewContent( div , href , method , data )
faire :
    containerId  = id;
ensuite

            httpRequestM.onreadystatechange = function()

                                {  

                                        if( httpRequestM.readyState == 4 )

                                        {

                                                ObjectDiv( containerId , httpRequestM.responseText );

                                        }

                                }

Mais ne pouvant pas tester...

[o-_-o]
0
msiham05 Messages postés 5 Date d'inscription mercredi 6 décembre 2006 Statut Membre Dernière intervention 29 mars 2007
29 mars 2007 à 18:55
Merci beaucoup sur votre aide
j'ai déjà dé brui
en changeant des truc quelque part dans ma page
et j'ai inséré la div dés le début de la page et ça marche.



 Merci infiniment.



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 
0
Rejoignez-nous