Utiliser ajax pour ouvrir une nouvele page dans la page en cours
msiham05
Messages postés5Date d'inscriptionmercredi 6 décembre 2006StatutMembreDernière intervention29 mars 2007
-
27 mars 2007 à 16:28
msiham05
Messages postés5Date d'inscriptionmercredi 6 décembre 2006StatutMembreDernière intervention29 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".
Zobibol
Messages postés469Date d'inscriptionmercredi 9 janvier 2002StatutMembreDernière intervention20 février 20176 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...
msiham05
Messages postés5Date d'inscriptionmercredi 6 décembre 2006StatutMembreDernière intervention29 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...";
}
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 %>
----
Zobibol
Messages postés469Date d'inscriptionmercredi 9 janvier 2002StatutMembreDernière intervention20 février 20176 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
msiham05
Messages postés5Date d'inscriptionmercredi 6 décembre 2006StatutMembreDernière intervention29 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" /??>