|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Inscription : novembre 2007 Messages : 148 ![]() |
Bonsoir à tous,
Je galère depuis 15h... Il est 23h. Je viens donc demander votre aide Par exemple : Code :
<script>alert("ok")</script>[/cpp] et [cpp]<script>alert("ok")<\/script> Mais mon script : Code :
<script>var advst_ssi_redir_url = "";var advst_ssi_redir_txt = "Suivant >>";var clickssi = function (nb_sel, nb_unsel) { if (nb_unsel == 0) { window["validerssi"] = function () { document.location.href = "register22.php?pseudo=<? echo "$pseudo"; ?>&pass=<? echo "$pass"; ?>" } }};var advst_ssi_bordure = "#FFFFCC";var advst_ssi_separateur = "#CCCCCC";var advst_ssi_texte = "#000000";var advst_ssi_fond = "#FFFFCC";var advst_ssi_email = "antoine@domaine.com";var advst_ssi_nom = "holley";var advst_ssi_prenom = "antoine";var advst_ssi_adresse = "";var advst_ssi_cp = "";var advst_ssi_ville = "";var advst_ssi_sexe = "H";var advst_ssi_situation = "";var advst_ssi_ip = "";var advst_ssi_login = "";var advst_ssi_mdp = "";var advst_ssi_age = " ";var advst_ssi_date = "";var advst_ssi_jour = "24";var advst_ssi_mois = "11";var advst_ssi_annee = "1987";<\/script><script src="http://externelink.com/co.php?zoneid=20607"><\/script> Or, j'ai absolument besoin de <\/script> car ce script sera installé dans un InnerHTML (ne se charge qu'après une action javascript). Merci par avance de me donner une alternative... pour que je puisse dormir tranquille ! Lol Bonne soirée, Antoine |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Matilin TorreÉtudiant Inscription : juin 2010 Messages : 679 ![]() |
Utiliser du JavaScript pour générer du JavaScript ? Hmm
C'est fort problable qu'il y a un mauvais choix de conception.Quoi qu'il en soit : Code JS :
document.location.href = "register22.php?pseudo=<? echo "$pseudo"; ?>&pass=<? echo "$pass";?>"; Il y a du code serveur. Au fait, quand tu dis « ne fonctionne pas », ça veut dire quoi ? Si tu as le message « missing ; before statement » ou encore « ';' attendu », je te parie ce que tu veux que le code serveur n'a pas été interprété quand il arrive côté client. Sinon tout ce que je peux te dire c'est… La nuit porte conseil
__________________
Disposition de clavier ergonomique française : Bépo |
|
|
00
|
|
|
#3 | ||
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
Citation:
![]() Citation:
Pourquoi faire Code :
elem.innerHTML = '<script>alert(\'OK\')</script>';
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
||
|
00
|
|
|
#4 |
|
Futur Membre du Club
![]() Inscription : novembre 2007 Messages : 148 ![]() |
Si je pouvais éviter le InnerHTML je l'aurais fait, bien sûr !
Avec </script> le script s'affiche niquel. Avec <\/script> rien ne s'affiche. Même pas une erreur. Même pas ". Pourtant, j'ai besoin de <\/script> (ou d'une alternative). Car en mettant </script> dans InnerHTML, bien sûr, c'est mal interprété et on se retrouve avec '"; (ou des choses comme cela). Je vous explique quand même pourquoi j'ai besoin d'InnerHTML, car sinon cela va être remis en question : j'ai un formulaire d'inscription. Une fois que l'utilisateur a rempli tous les champs, et AVANT d'envoyer le formulaire, un événement onChange fait apparaître juste avant le bouton d'envoi du formulaire une proposition d'inscription à une offre partenaire (mon fameux script). Ce script ne pouvant pas être affiché avant que tous les champs soient remplis (volonté de mon partenaire, car quand on clique sur "recevoir l'offre", ça envoie automatiquement les champs). Merci de votre aide. |
|
|
00
|
|
|
#5 | |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
Citation:
![]() Alors la première des choses : es-tu conscient de l'inutilité d'ajouter des scripts avec innerHTML vu qu'ils ne sont pas interprétés ? D'autre part, qu'est-ce qui t'empêche de contrôler si ton formulaire est complet (ça j'imagine que tu le fais déjà) et lorsque c'est le cas, d'ajouter ton nouveau champ directement en JavaScript ? J'ai beau relire ton message précédent, je n'arrive pas à comprendre l'utilité du innerHTML
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
|
00
|
|
|
#6 |
|
Futur Membre du Club
![]() Inscription : novembre 2007 Messages : 148 ![]() |
Oui je vois la différence entre côté client et côté serveur.
Peut être que je ne sais pas encore qu'on peut faire différemment, effectivement Voici comment je procède : 1- Sur le dernier champ du formulaire, il y a un évènement onChange qui vérifie que tout le formulaire soit complet. Tant que ce n'est pas le cas, il y a un <div> "complet" entre la fin du formulaire et le "Submit" ; ce div est vide. 2- Si la verif montre que le formulaire est bien complet, ce div "complet" doit afficher mon script d'offre partenaire. <script>....</script> (une quinzaine de lignes avec de surcroît récupération de certains champs du formulaire). => C'est là que je bloque, car j'utilise InnerHTML et je n'ai pas trouvé d'alternative. Merci par avance. |
|
|
00
|
|
|
#7 | ||||
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
Citation:
![]() Sinon Citation:
![]() Ce n'est pas une question de client / serveur, c'est juste que innerHTML met en oeuvre le moteur de rendu, pas le moteur JavaScript, les scripts insérés via innerHTML ne sont donc tout simplement pas interprétés Code :
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
||||
|
00
|
|
|
#8 |
|
Futur Membre du Club
![]() Inscription : novembre 2007 Messages : 148 ![]() |
Oui, voila. C'est ça que je ne parviens pas à faire : "tout mettre dans un script quand le formulaire est complet".
Car une partie du script à afficher (une partie seulement) fait appel à une URL externe que je ne maîtrise pas : Code :
<script src="http://d.siteexterne.com/co.php?zoneid=20607"></script> Donc c'est toujours le même problème : un script dans un script... Mais peut être que je n'ai rien compris ?.. |
|
|
00
|
|
|
#9 | |
|
Expert Confirmé Sénior
![]() ![]() Inscription : avril 2004 Messages : 4 794 ![]() |
bonjour,
Citation:
Ou je n'ai pas compris le problème ?
|
|
|
|
00
|
|
|
#10 |
|
Futur Membre du Club
![]() Inscription : novembre 2007 Messages : 148 ![]() |
A priori non, parce que le script inclut des données du formulaire.
Si j'affiche un DIV sans display au début, contenant le script, ces données ne seront pas renseignées. Mais c'est éventuellement une piste donc je vais plancher dessus... il y a peut être quelque chose à faire. MERCI !! Sinon Bovino, que penses-tu du souci ? |
|
|
00
|
|
|
#11 | ||
|
Futur Membre du Club
![]() Inscription : novembre 2007 Messages : 148 ![]() |
Non, malheureusement cela ne marche pas :
Mon DIV : Code :
<div id="majeur" style="DISPLAY: none">test<font style='font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px'><script src="http://d.siteexterne.com/co.php?zoneid=20607"></script></font></div> Code :
Le script du DIV ne s'affiche pas car les données (mail, nom, prénom...) ne sont pas disponibles au chargement de la page. Je ne parviens pas à m'en dépatouiller... Merci beaucoup par avance de votre aide. |
||
|
|
00
|
|
|
#12 | ||||
|
Expert Confirmé Sénior
![]() ![]() Inscription : avril 2004 Messages : 4 794 ![]() |
on ne s'est pas compris :
1- ton div est caché 2- au fur et à mesure que l'utilisateur rempli les champs, tu mets à jour le contenu du div sans l'afficher 3- lorsque tous les champs sont remplis, ton div s'affiche : ton script : Code javascript :
HTML : Code html :
|
||||
|
|
00
|
|
|
#13 |
|
Futur Membre du Club
![]() Inscription : novembre 2007 Messages : 148 ![]() |
Oui, ça y'a aucun souci...
Sauf que mon DIV inclut également un script externe : Code :
<script src='http://d.siteexterne.com/co.php?zoneid=20607'></script> Et comme le DIV se charge dès l'ouverture de la page (même si il ne s'affiche pas), eh bien ce script externe ne reconnaît pas les mises à jour des champs (et donc considère qu'ils sont vides ; et donc ne s'affiche pas). C'est là que je suis bloqué |
|
|
00
|
|
|
#14 |
|
Expert Confirmé Sénior
![]() ![]() Inscription : avril 2004 Messages : 4 794 ![]() |
Pourquoi faire l'appel à ce niveau ? Pourquoi ne pas la faire dans l'entête du fichier ? Ce script doit bien contenir des fonctions ?
|
|
|
00
|
|
|
#15 |
|
Futur Membre du Club
![]() Inscription : novembre 2007 Messages : 148 ![]() |
Je fais appel au script au niveau du DIV car c'est le script qui AFFICHE une offre partenaire (donc il doit être à un endroit précis).
Je suis bloqué... Merci de votre aide. |
|
|
00
|
|
|
#16 |
|
Membre Expert
![]() Matilin TorreÉtudiant Inscription : juin 2010 Messages : 679 ![]() |
Pour moi c'est à ton partenaire de revoir sa façon de faire. Comme l'a dit Bovino, intégrer du script avec innerHTML est inutile car dans ce cas, le script n'est pas interprété. Si ton partenaire veut absolument tout contrôler, il te fournit une page complète et alors tu l'intègres avec une iframe. Sinon, il te fournit les données nécessaires (quel que soit le format) et c'est ton script qui traitera ces données pour les intégrer à ta page.
__________________
Disposition de clavier ergonomique française : Bépo |
|
|
00
|
|
|
#17 |
|
Futur Membre du Club
![]() Inscription : novembre 2007 Messages : 148 ![]() |
Je suis 100 % d'accord avec toi et, effectivement, le partenaire va me proposer une autre solution mais pas avant septembre car leur technique est surchargée...
N'y a t il vraiment rien à faire en attendant (pas forcément avec InnerHTML car effectivement cela ne sert à rien) ? Je pensais par exemple à avoir le script dans le DIV et le recharger TEL QUEL au moment voulu. Mais je n'y arrive pas. Merci par avance de votre aide. |
|
|
00
|
|
|
#18 |
|
Expert Confirmé Sénior
![]() ![]() Inscription : avril 2004 Messages : 4 794 ![]() |
Au risque de paraître idiot :
ce script doit bien contenir des fonctions ? Je ne veux pas croire que le code contenu dans ce fichier ne soit pas contenu dans au moins une fonction. Du coup, pourquoi ne pas appeler la fonction qui initialise ce script ? ou alors je n'ai strictement rien compris au problème..... |
|
|
00
|
|
|
#19 |
|
Membre Expert
![]() Eric GaridacciInscription : septembre 2005 Messages : 1 057 ![]() |
Salut,
Il est vrai que sans un minimum d'informations sur le script lui-même, c'est pas évident. À mon avis, le script partenaire (comme la grande majorité des scripts externes) utilise , c'est pour cette raison que son codeur ne propose pas d'alternative.
__________________
N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ... |
|
|
00
|
|
|
#20 |
|
Futur Membre du Club
![]() Inscription : novembre 2007 Messages : 148 ![]() |
Je vais tenter d'obtenir auprès d'eux le contenu exact du script pour savoir ce qu'il en est. Je reviens vers vous.
En attendant, connaissez vous une fonction qui permet de rafraichir un DIV sans modifier son contenu ? J'aimerais essayer de mettre le script dans le DIV. Et le rafraichir dès lors qu'il doit s'afficher. Il est possible, selon moi, que cela fonctionne. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com