[AJAX] encodage d'url qui disparait avec Javascript
Bonjour,
tout d'abord, je dois prévenir que je ne ne suis pas sûr du tout de poster sur le bon forum, donc merci aux modérateurs de déplacer ce post s'il est au mauvais endroit.
Voici mon problème :
Je dois passer à Javascript une chaine de caractère comportant le caractère '\' une ou plusieur fois, pour ensuite repasser cette chaine à PHP via la méthode GET.
En clair, mon code (épuré) ressemble à ça :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
<script language="javascript" type="text/javascript">
function confirmDelete(target)
{
if (confirm("Etes-vous sûr de vouloir supprimer "+target+" ?"))
document.location = "deleteEntry.php?target="+target;
}
</script>
<?php
$target = 'myFolder\mySubFolder';
?>
<a href="javascript: confirmDelete('<?php echo urlencode($target); ?>')">supprimer</a> |
Quand je regarde la source de la page HTML générée, je vois
Code:
1 2
|
<a href="javascript: confirmDelete('myFolder%5CmySubFolder')">supprimer</a> |
donc tout se passe bien jusque là.
Mais lorsque je clique sur le lien, la fenêtre de confirmation affiche
Citation:
Etes-vous sûr de vouloir supprimer myFoldermySubFolder
et si je confirme la page sur laquelle je suis redirigé est
Citation:
deleteEntry.php?target=myFoldermySubFolder
Il semble donc que le passage par Javascript supprime d'une manière ou d'une autre le "%5C". J'en ai pourtant besoin dans le script contenu dans deleteEntry.php
Comment dois-je m'y prendre ?
Pour information, je teste ce code avec Firefox 2.0.0.6