ajax et caractères

Eléphant du PHP | 171 Messages

31 mars 2006, 11:43

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.

Mammouth du PHP | 19672 Messages

31 mars 2006, 12:09

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
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 441 Messages

31 mars 2006, 12:10

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 ... >>>
Futures Stars par ici >> www.apel-doorn.com
fan d'info et du ... PSG !! :D
Apprendre, comprendre et maîtriser telle est ma devise!
Fan inconditionnel de netvibes

Invité
Invité n'ayant pas de compte PHPfrance

31 mars 2006, 13:53

super, ton lien a servi.
un petit coup de utf8_decode() sur le POST et tout est rentré dans l'ordre. Merci!

Invité
Invité n'ayant pas de compte PHPfrance

31 mars 2006, 14:00

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?

Invité
Invité n'ayant pas de compte PHPfrance

31 mars 2006, 14:05

en fait mon pb est de trouver une fonction qui prend toutes les valeurs du form sans avoir à les préciser une par une .

Invité
Invité n'ayant pas de compte PHPfrance

31 mars 2006, 14:16

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.

Invité
Invité n'ayant pas de compte PHPfrance

31 mars 2006, 14:17


Invité
Invité n'ayant pas de compte PHPfrance

31 mars 2006, 16:24

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?

Invité
Invité n'ayant pas de compte PHPfrance

31 mars 2006, 16:31

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>

Invité
Invité n'ayant pas de compte PHPfrance

31 mars 2006, 16:32

remarque: ya un double quote aulieu de simple quote dans le passage url de la fonction, faites pas gaffe.

Invité
Invité n'ayant pas de compte PHPfrance

31 mars 2006, 17:01

en fait mon pb est que this.value fonctionne, mais this.name et this.id ne me renvoient pas les valeurs demandées.

Invité
Invité n'ayant pas de compte PHPfrance

31 mars 2006, 17:12

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.

Eléphant du PHP | 441 Messages

01 avr. 2006, 10:03

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 ;)
Futures Stars par ici >> www.apel-doorn.com
fan d'info et du ... PSG !! :D
Apprendre, comprendre et maîtriser telle est ma devise!
Fan inconditionnel de netvibes

Invité
Invité n'ayant pas de compte PHPfrance

02 avr. 2006, 12:14

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.