[JavaScript/ASP] Problème avec une variable de texte contenant des \

Problème avec une variable de texte contenant des \ [JavaScript/ASP] - HTML/CSS - Programmation

Marsh Posté le 05-05-2004 à 07:34:00    

Salut,
Voici mon problème. Jai un tableau qui s'affiche dans une page contenant des produits, leur quantité, leur prix et une image du produit pour chaque produit. Pour cette page tout est correct et les images pour chaque produit s'affichent corectement. Les produits et les caractéristiques son enregistrées dans une base de données. Mon problème est que je veux que quand l'utilisateur clique sur la petite image d'un produit dans le tableau, un nouvelle fenêtre s'ouvre contenant l'image en taille réelle. Voici ce que j'ai fait:
 
Voici la partie du code ou je fais afficher les infos pour chaque produit et leur image:

Code :
  1. <%   while ( ! rs.eof)         %>
  2. <%   {            %>
  3.   <tr bgcolor="#ECECEC">
  4. <%    for (i=1 ; i < nombreChamps - 3 ; i++)    %>
  5. <%    {           %>
  6.     <td valign=top> <%=rs.fields(i).value %>
  7.     </td>
  8. <%        }           %>
  9.    <td><img src="<%=rs.fields(nombreChamps - 1).value%>" width="80" onclick="OuvrirImage('<%=rs.fields(nombreChamps - 1).value%>')"> </td>
  10.    <td align="center"><input type="radio" name="Choix" value=<%=j%>>
  11.    </td>
  12. <%     rs.MoveNext()        %>


 
Tout les produits et chaque info s'affiche correctement et la photo de chaque produit aussi.
 
Voici ma fonction OuvrirImage

Code :
  1. <script language="">
  2. <!-- Debut script
  3. function OuvrirImage(image) {
  4. Window2=open("","","scrollbars=no,status=no,menubar=no,location=no,resizable=no" );
  5. Window2.document.write("<HEAD><TITLE>Image du  produit</TITLE></HEAD>" )
  6. Window2.document.write(image)
  7. Window2.document.write("<img src = " + image + ">" )
  8. }
  9. //  Fin script -->
  10. </script>


 
Une fenêtre s'ouvre quand je clique sur une petite image, il m'écrit le contenu de la variable image correctement sauf qu'il me manque les "\". Au lieu d'être écrit C:\Inetpub\wwwroot\TPFinal\Images\Athlète.jpg , c'est écrit C:InetpubwwwrootTPFinalImagesAthlète.jpg et il n'y a pas d'image qui s'affiche mais seulement un petit carré. Lorsque je fais clic-droit, propriété sur le petite carré, à adresse(URL) c'est écrit file:///C:InetpubwwwrootTPFinalImagesAthl%E8te.jpg alors que ça devrait être file:///C:/Inetpub/wwwroot/TPFinal/Images/Athl%E8te.jpg (deux-points/ à la place du smiley) comme à adresse(URL) lorsque je fais clic droit sur une image du tableau.
 
Je comprend vraiment pas. Votre aide serait appréciée. Merci.


Message édité par Muldeo le 05-05-2004 à 09:04:43
Reply

Marsh Posté le 05-05-2004 à 07:34:00   

Reply

Marsh Posté le 05-05-2004 à 07:41:14    

Edit


Message édité par Muldeo le 05-05-2004 à 07:43:30
Reply

Marsh Posté le 05-05-2004 à 12:10:15    

le plus simple serait de fonctionner avec des url relatives au document en cours et de rechercher a partir de cette position des documents avec la syntaxe unix ('/'), le backslash étant un caractère d'echappement de caractères spéciaux.(ou alors il faut échapper tes backslash en les doublant)


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 05-05-2004 à 12:45:27    

J'utilise une fonction remplace
 

Code :
  1. <%
  2. function remplace(txt)
  3. Dim sPath, temp, dPath, RegEx
  4. sPath = "Images"
  5. dPath = "Images/grande"
  6. temp = txt
  7. regEx.IgnoreCase = False
  8. regEx.Global = true
  9. temp = regEx.replace(temp,"<a href='pop-up.asp?src=" & dPath & "/$1' onclick='window.open(this.href);return false;'><img class='image' src='" & sPath & "/$1' alt='$1 cliquez pour agrandir l image' title='$1 cliquez pour agrandir l image' /></a>" )
  10. remplace = temp
  11. Set regEx = Nothing
  12. end function
  13. %>


 
Dans la page appellante :
 

Code :
  1. <td><%=remplace(ton_champs.Fields.Item("ton_champs" ).Value)%></td>


 
Ça m'ouvre un fichier pop-up.asp avec :
 

Code :
  1. <%
  2. dim MM_editAction
  3. MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME" ))
  4. If (Request.QueryString <> "" ) Then
  5.   MM_editAction = MM_editAction & "?" & Request.QueryString
  6. End If
  7. %>
  8. <img src="<%=request.querystring("src" )%>" />

'pour afficher la grande image
 
et  
 

Code :
  1. <form>
  2. <input type="button" value="fermer" onclick="javascript:parent.opener.location.reload();window.close();" ID="Button1" NAME="Button1">
  3. </form>


 
Pour fermer pop-up.asp
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed