Page 1 sur 1

ajax et caractères

Posté : 31 mars 2006, 11:43
par donatello
Bonjour à tous,
J'utilise ajax pour remplir une liste déroulante à partir d'une autre, avec des requetes sql.

ça fonctionne bien, sauf que tous les items de ma liste qui contiennent des caractères spéciaux (Ï, é, à...) ne fonctionnent pas.
Savez vous à quoi ça peut être dû?

vous pouvez tester ici:
http://82.227.167.30/Coop2/main.php?Ref ... ation=cons

Sur la double liste culture/ variété en haut à gauche.
Merci pour vos réponses.

Posté : 31 mars 2006, 12:09
par Cyrano
Après test, j'ai de mon coté un affichage normal : fais donc un [CTRL]+[F5] pour recharger complètement la page dans le cache, c'est un sûrement problème d'encodage et ton navigateur doit afficher en utf8 alors que le code est en iso-8859-1 :-k

Posté : 31 mars 2006, 12:10
par starkeus
Un bout de code?Utilises-tu un framework ajax?
Car moi j'ai eu le même soucis avec la lib xajax car les données envoyé par la fonction encodeURIComponent ... >>>

Posté : 31 mars 2006, 13:53
par Invité
super, ton lien a servi.
un petit coup de utf8_decode() sur le POST et tout est rentré dans l'ordre. Merci!

Posté : 31 mars 2006, 14:00
par Invité
sinon je cherche un bout de code Ajax qui puisse me permettre d'enregistrer les vars d'un form dans une BD sur événement onclic, avez vous des pistes?

Posté : 31 mars 2006, 14:05
par Invité
en fait mon pb est de trouver une fonction qui prend toutes les valeurs du form sans avoir à les préciser une par une .

Posté : 31 mars 2006, 14:16
par Invité
Je précise encore ma question.
A la même adresse

http://82.227.167.30/Coop2/main.php?Ref ... ation=cons

Vous pouvez voir qu'il y a 5 onglets avec 5 formulaires.
Je cherche à enregistrer toutes les valeurs d'un formulaire dans une bd à chaque fois qu'on clique sur un onglet.
faut-il de l'ajax ou juste du js? j'ai du mal à écrire la fonction qui fait ça.

Posté : 31 mars 2006, 14:17
par Invité

Posté : 31 mars 2006, 16:24
par Invité
Bon, la question n'a pas l'air d'inspirer bcp de monde.
C'est pas grave car je me rends compte qu'avec Ajax, même pas besoin d'action pour enregsitrer mes vals.
J'utilise donc le script que voici:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>AJAX</title>

<script type="text/javascript">
function verifPseudo(valeur) {
texte = file('verifpseudo.php?pseudo='+escape(valeur))
}

function file(fichier)
{
if(window.XMLHttpRequest) // FIREFOX
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // IE
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else
return(false);
xhr_object.open("GET", fichier, false);
xhr_object.send(null);
if(xhr_object.readyState == 4) return(xhr_object.responseText);
else return(false);
}
</script>

</head>
<body>

<form action="">
        <input name="pseudo" name="champ1" type="text" onBlur="verifPseudo(this.value)" width="50" />

</form>


</body>
</html>
Ma question:
Actuellement, l'événement onblur du form prend la valeur du input et le passe en URL grâce à verifPseudo()

Comment réécrire la fonction pour quelle prenne non seulement la valeur du champ, mais aussi l'id et le nom, et passe les 3 vars en url?

Posté : 31 mars 2006, 16:31
par Invité
j'ai essayé ceci mais ça ne marche pas.
la fonction:
function verifPseudo(ident, nom, valeur) {
texte = file('verifpseudo.php?ident='+escape(ident)+'&nom='+escape(nom)+'&valeur="+escape(valeur))
}
le html:
<form action="">
        <input name="pseudo" type="text" onBlur="verifPseudo(this.id, this.name, this.value)" width="50" />

</form>

Posté : 31 mars 2006, 16:32
par Invité
remarque: ya un double quote aulieu de simple quote dans le passage url de la fonction, faites pas gaffe.

Posté : 31 mars 2006, 17:01
par Invité
en fait mon pb est que this.value fonctionne, mais this.name et this.id ne me renvoient pas les valeurs demandées.

Posté : 31 mars 2006, 17:12
par Invité
hem...c'est normal que ça marche pas si je mets pas d'id et de nom dans les attributs du champ.
hem, hem...bon j'arrête la moquette et je vais me coucher.

Posté : 01 avr. 2006, 10:03
par starkeus
Je te conseille fortement de faire un tour sur le site de Xajax franchement c'est vraiment simple d'utilisation, ça marche du tonnerre et en plus il y a des tutos ;)

Posté : 02 avr. 2006, 12:14
par Invité
Bonjour,
j'ai le problème de caractères spéciaux dont vous parlez au dbt du topic.
Sauf que dans ma liste déroulante ajax,
c'est la chaine "AUSTRAL +" qui ne passe pas.
est-ce l'espace qui pose pb, ou le +? comment résoudre?
utf8_decode() ne change rien.