Trucsweb.com

Forum de discussion

 Forum « Programmation Javascript » (archives)

Re: mettre des données dans une adresse URL

Envoyé: 9 juin 2006, 8h19 par Oznog


Salut,

Oui, tu mélange les langages. Tu as trois langage dans ce code, le HTML, le Javascript et le PHP. Tu as des chaines de caractères, avec ces limites, en php, une autre en Javascript et enfin tout ça est une chaîne de caractères de l'attribut « onclick » d'une balise html!

Il faut simplemnent faire la distinction entre tout ça...

Ton PHP n'intervient en aucun cas dans le Javascript ou le HTML. Tu peux donc le remplacer littérallement dans le code sans changer l'interprétation du navigateur. Tu n'as donc sans doute pas besoin du +.

Ça c'est de 1.

if( lien_paye() ) document.location.href='somme_a_payer.php?codemission=<?php echo $reponse['CodeMission'];?>&datedebut=<?php echo $reponse['Datedebut'];?>&datefin=<?php echo $reponse['Datefin'];?>...

Ce qui donne
onclick="if( lien_paye() ) document.location.href='somme_a_payer.php?codemission=valeur1&datedebut=valeur2&datefin=valeur3...

Maintenant, si valeur 1 contient un double guillements ?

tu te retrouve avec un HTML :

<td><a href="#" onclick="mon javascriptp et oups, il y a un double guillemet qui indique la fin de l'attribut « onclick »...

Ça c'est le premier constat, tu peux ajouter à ça les carractéres accentué. Il faut encoder ces caractères, en PHP.

2. Quand tu écrit « &matricule=... » dans le javascript, ce n'est pas du javascript ni du HTML, c'est une simple chaîne de caractères passé à une méthode Javascript :

MaMéthodeJavascript = 'une chaine qui se trouve être un URL avec ces données. Dit chaîne de requêtes'.

Celle là délimitée par un SIMPLE guillemet, (attention, une valewur comme « l'école » fait aussi planter le Javascript.)

Donc si tu mets dans une chaîne de caractaires la valeur d'un objet du DOM comme l'item d'un formulaire (document.prix_paye.matricule.value). C'Est là que'il doit y avoir un + ;-)

Parceque c'est du Javascript cette fois, pas du PHP! Alors évalue la valeur pour l'ajouter à la chaîne de caractères :

&matricule='+document.prix_paye.matricule.value+'&prix='+...

Ça devrait fonctionner.

Ciao
Oznog


Réponses

 Aucune réponse à ce message... 
Aucun médias sociaux
X

Trucsweb.com Connexion

X

Trucsweb.com Mot de passe perdu

X

Trucsweb.com Conditions générales

Conditions

Responsabilité

La responsabilité des Trucsweb.com ne pourra être engagée en cas de faits indépendants de sa volonté. Les informations mises à disposition sur ce site le sont uniquement à titre purement informatif et ne sauraient constituer en aucun cas un conseil ou une recommandation de quelque nature que ce soit.

Aucun contrôle n'est exercé sur les références et ressources externes, l'utilisateur reconnaît que les Trucsweb.com n'assume aucune responsabilité relative à la mise à disposition de ces ressources, et ne peut être tenue responsable quant à leur contenu.

Droit applicable et juridiction compétente

Les règles en matière de droit, applicables aux contenus et aux transmissions de données sur et autour du site, sont déterminées par la loi canadienne. En cas de litige, n'ayant pu faire l'objet d'un accord à l'amiable, seuls les tribunaux canadien sont compétents.

X

Trucsweb.com Trucsweb

X

Trucsweb.com Glossaire

X

Trucsweb.com Trucsweb

X

Trucsweb.com Trucsweb

Conditions

Aucun message!

Merci.

X
Aucun message!
X

Trucsweb.com Créer un compte