Salut, je suis nouveau en ASP et je m'y connais encore moins en Ajax. La situation est la suivante:
j'ai un listing divisé en plusieurs page. En dessous de se listing, j'ai un formulaire qui est composé de deux champ texte. Ces champs se remplisse lorsque l'utilisateur clic sur une ligne du listing (jusque la rien de bien compliqué puisque ca marche). Le problème c'est que lorsque je change de page (via un lien hypertext généré automatiquement par un fonction de pagination que j'ai faite), les informations contenues dans mes champs textes doivent êtres transmise à la page suivantes. J'utilise donc un fonction Ajax, qui appel une procédure ASP contenue sur une autre page, qui est sensée mettre la valeur de mes champs dans des variables de sessions. Le problème c'est que je ne récupere qu'une de mes deux variable de session. Pour que se soit un peu plus clair voici le CODE que j'ai fais:
CODE Ajax:
function ajaxCustomer(objForm)
{
// Déclaration des variables
var OrgKeep = objForm.OrgKeep.value;
var OrgWipe = objForm.OrgWipe.value;
var fileName = "Organisme/FusionOrganisme-Session.asp";
var data = '';

if ((OrgKeep != '') && (OrgWipe != ''))
{
data = "keep=" + OrgKeep + "&wipe=" + OrgWipe;
}

else if ((OrgKeep != '') && (OrgWipe == ''))
{
data = "keep=" + OrgKeep;
}

else if ((OrgKeep == '') && (OrgWipe != ''))
{
data = "&wipe=" + OrgWipe;
}

// On créé le nom du fichier complet avec les paramètre d'id de l'organisme dans l'url
fileName = fileName + "?" + data

// On déclare un objet activeX
var xhr_object = new ActiveXObject("Microsoft.XMLHTTP");

// On se connecte au fichier pour récupérer les données
xhr_object.open("GET", fileName, true);

data = null;
xhr_object.send(data);

}
La page appelé par ma fonction Ajax:
<%
public strIdOrgKeep
public strIdOrgWipe

Session.Contents.Remove("keep")
Session.Contents.Remove("wipe")

' On affecte l'id du client sélectionné (a garder) à la variable
strIdOrgKeep = request.QueryString(1)
Session("keep") = strIdOrgKeep
' On affecte l'id du client sélectionné (à wipper) à la variable
strIdOrgWipe = request.QueryString("wipe")
Session("wipe") = strIdOrgWipe

' Ce CODE fait en sorte que la page ne soit pas gardé en cache. Il est important car avec ajax
' si on garde la page en cache et qu'on change des valeurs dans la Base de données,
' cela ne sera pas pris en compte
response.Cachecontrol = "private"
response.Expiresabsolute=now()-1
response.Expires=0
response.Addheader "cache-control","private"
response.AddHeader "pragma", "no-cache"
%>
Le CODE du listing et du formulaire:
<table width="95%" border="0" class="cadre" cellspacing="0" align="center">
<tr>
<td width="50%" align="center" bgcolor="#339900" class="txtTeteEtPiedTab">Nom</td>
<td width="18%" align="center" bgcolor="#339900" class="txtTeteEtPiedTab">Date de Création</td>
<td width="8%" align="center" bgcolor="#339900" class="txtTeteEtPiedTab">Structure</td>
<td width="8%" align="center" bgcolor="#339900" class="txtTeteEtPiedTab">Fusion</td>
<td width="8%" align="center" bgcolor="#339900" class="txtTeteEtPiedTab">Modifier</td>
<td width="8%" align="center" bgcolor="#339900" class="txtTeteEtPiedTab">Suppression</td>
</tr>
<%while not rst.EOF %>
<tr id="rows<%=i%>" onMouseOver="this.style.background='#DFDFDF'" onMouseOut="this.style.background='none'" onClick="<%Session.contents.remove("keep")%>">
<td class="Texte1">
<% tmp = rst("ORG_Num_PK")
'test si la chaine de caractère fait plus de 20 caractères
if len(rst("ORG_UserOrg"))>35 then
response.write(left(rst("ORG_UserOrg"),35)&"...")
else
response.write(rst("Org_UserOrg"))
end if
%> </td>
<td align="center" class="Texte1">
<%
if len(rst("ORG_DateCreat"))>"" then
response.write(left(rst("ORG_DateCreat"),10))
else
response.write("-")
end if
%> </td>
<td align="center" class="Texte1">
<%
'test si le CODE structure est différent de NULL
if rst("ORG_CODEStructure_FK")<>"" then
response.write(rst("ORG_CODEStructure_FK"))
else
response.write("-")
end if
%> </td>
<td align="center" class="Texte1"><img src="Images/fusion.jpg" widt="13" height="13" alt="Fusion" border="0" title="Fusion" class="imgFusion" onClick="
if (FormOrganisme.OrgKeep.value=='')
{
FormOrganisme.OrgKeep.value='<%=rst("ORG_Num_PK")%>';
}
else
{
if (FormOrganisme.OrgKeep.value=='<%=rst("ORG_Num_PK")%>')
{
alert('Il est impossible de s\él\écionner deux fois le même organisme.');
}
else
{
FormOrganisme.OrgWipe.value='<%=rst("ORG_Num_PK")%>';
}
}
ajaxCustomer(window.document.forms['FormOrganisme']);
">
</td>
<td align="center" class="Texte1"><a href="Organisme.Ecran?mode=M&id=<%=rst("ORG_Num_PK")%>"><img src="Images/update.jpg" width="13" height="13" alt="Modifier" border="0" title="Modifier"></a></td>
<td align="center" class="Texte1"><a href="Organisme/DeleteOrganisme-Template.asp&id=<%=rst("ORG_Num_PK")%>" onClick="window.open('Organisme/DeleteOrganisme-Template.asp?id=<%=rst("ORG_Num_PK")%>','Suppression',config='height=375, width=750,toolbar=0,menubar=0,location=0,scrollbars=0'); return false;"><img src="Images/corbeille.jpg" width="13" height="13" alt="Supprimer" border="0" title="Supprimer"></a></td>
</tr>
<%rst.movenext%>
<%wend%>

<tr>
<td bgcolor="#339900" class="txtTeteEtPiedTab">Nombres d'organisme : <%=objPagination.intPRows%></td>
<td bgcolor="#339900" class="txtTeteEtPiedTab">&nbsp;</td>
<td bgcolor="#339900" class="txtTeteEtPiedTab" colspan="4" align="right">Page :
<%
num = objPagination.NumPage()
%>
</td>
</tr>
</table>
</p>
<center>
<p>
<%
page = objPagination.page()
end if

'qdfFus = "SELECT * FROM PSO_TMP_ORG"
'Set rstFus = server.createobject("ADODB.Recordset")
'rstFus.Open qdfFus,Conn , 3, 3

strKeep = Session("keep")
strWipe = Session("wipe")

%>
<br>
<a onClick="window.open('Organisme/test.asp','',config='height=375, width=750,toolbar=0,menubar=0,location=0,scrollbars=0'); ">test</a>
<fieldset>
<legend>Fusion</legend>
<form action="Organisme.Fusion.Action" method="post" name="FormOrganisme" >
<div id="FusionLigne">
<div id="FusionLeft"><label class="label_Fiche"><strong>Client &agrave; conserver:</strong></label>&nbsp;&nbsp;</div>
<div id="FusionRight" class="FusionOrg"><label><input type="text" name="OrgKeep" value="<%=strKeep%>"></label></div>

</div>
<div id="FusionLigne">
<div id="FusionLeft"><label class="label_Fiche"><strong>Client &agrave; fusionner:</strong></label>&nbsp;&nbsp;</div>
<div id="FusionRight"><label><input type="text" name="OrgWipe" value="<%=strWipe%>"></label></div>

</div>
<p><input type="submit" value="Fusionner" class="inputSpe" onClick="return(verifFusion())"></p>
</form>
</fieldset>
</p>
</center>