IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Appel de fonction 'onclick'


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 576
    Points : 803
    Points
    803
    Par défaut Appel de fonction 'onclick'
    Bonjour,
    J'appelle une fonction avec la ligne qui suit. Elle me provoque une série d'erreurs au niveau de l'argument.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p style="width:480px;" class="center"><input type="submit" value="Effacer" onclick="confirmBeforeDel(<?= json_encode($joined); ?>)" /></p>
    Cette autre ligne par contre fonctionne très bien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src='".DIR_IMAGES."del.png' onclick='confirmBeforeDel(" . json_encode($child) . ")' />
    Voici quelques précisions:
    - Le paramètre encodé json est un objet représentant une personne.
    - Le code source de la page renvoie ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p style="width:480px;" class="center"><input type="submit" value="Effacer" onclick="confirmBeforeDel({"id":"97","prenom":"Tata","nom":"Toto","courriel":"","tel_travail":"","tel_portable":"","naissance":null,"local_naissance":null})" /></p>
    - Ici, on ne voit pas les couleurs, mais on dirait qu'il y a un conflit au niveau des guillemets.

    EDIT: Effectivement, si je remplace les guillemets doubles par des apostrophes, le fonctionnement est bon. Alors la question devient comment sécuriser ce code et s'affranchir du type de guillemets.

  2. #2
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Mets des apostrophes à la place des guillemets => onclick=‘ ...... ‘ au lieu de onclick="......".
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  3. #3
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    regarde dans la doc, tout est expliqué : ici (attarde toi sur les options)

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 576
    Points : 803
    Points
    803
    Par défaut
    @rawsrc: J'ai essayé d'utiliser les constantes JSON_HEX_QUOT et JSON_HEX_APOS et l'erreur décrite en #1 persiste.
    @badaze: Merci, j'aurais préféré sécuriser le fonctionnement en m'affranchissant du type de guillemets, mais ta solution fonctionne.

    Je marque le sujet comme résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo