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 :

Passer du JS dans un array


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 50
    Par défaut Passer du JS dans un array
    Salut à tous,

    Voila, je me creuse la tête depuis plusieurs heures. Je dois passer du JavaScript dans un array PHP. En fait, je rentre un <input> dans mon tableau, et ça bloque lorsque j'ajoute onFocus et onBlur car j'ai des parenthèses pour les if.

    Mieux qu'une longue explication incompréhensible, voici mon exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $args = array(
    		'fields' => apply_filters( 'comment_form_default_fields', array(
    		'author' => '<p><input type="text" name="author" id="author" value="' . $author . '" size="22" tabindex="1" ' . $aria_req . ' onfocus="if(this.value==this.defaultValue)this.value=''" onblur="if(this.value=='')this.value=this.defaultValue"/></p>',
    		'email'  => '<p><input type="text" name="email" id="email" value="' . $email . '" size="22" tabindex="2" ' . $aria_req . ' onfocus="if(this.value==this.defaultValue)this.value=''" onblur="if(this.value=='')this.value=this.defaultValue"/></p>',
    		'url'    => '<p><input type="text" name="url" id="url" value="' . $url . '" size="22" tabindex="3" onfocus="if(this.value==this.defaultValue)this.value=''" onblur="if(this.value=='')this.value=this.defaultValue"/></p>'
    		)));
    En sortie, j'ai l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ')' in blablabla
    J'ai bien essayé d'échapper les parenthèse, mais ça ne change rien. J'en déduis que c'est pas comme ça qu'il faut faire ! Quelle perspicacité Mais je ne sais absolument pas comment m'y prendre maintenant !

    Merci à tous ceux qui voudrons bien m'apporter un coup de pouce !

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    problème de quotes, mais je te déconseille de faire comme ça, fois toi plutôt un lib a ajouter dans ta page

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2009
    Messages : 137
    Par défaut yopyop
    Hello,

    tu échappes mal tes quotes il faut faire comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $author = 1;
    $email = 2 ;
    $aria_req = 3 ;
    $array = array (
    		"author" => '<p><input type="text" name="author" id="author" value="' . $author . '" size="22" tabindex="1 ' . $aria_req . '" 
    		onfocus="if(this.value==this.defaultValue)this.value=\'\'" 
    		onblur="if(this.value==\'\')this.value=this.defaultValue"/></p>',
    		"email"  => '<p><input type="text" name="email" id="email" value="' . $email . '" size="22" tabindex="2 ' . $aria_req . '" 
    		onfocus="if(this.value==this.defaultValue)this.value=\'\'" 
    		onblur="if(this.value==\'\')this.value=this.defaultValue"/></p>',
    		);
    echo($array['author'] . $array['email']);
    et ça nous donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <p><input type="text" name="author" id="author" value="1" size="22" tabindex="1 3" 
    		onfocus="if(this.value==this.defaultValue)this.value=''" 
    		onblur="if(this.value=='')this.value=this.defaultValue"/></p><p><input type="text" name="email" id="email" value="2" size="22" tabindex="2 3" 
    		onfocus="if(this.value==this.defaultValue)this.value=''" 
    		onblur="if(this.value=='')this.value=this.defaultValue"/></p>

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 50
    Par défaut
    Oh merde ! Le boulet ! Je me suis focalisé sur les parenthèses, alors que ce sont les quotes qui n'étaient pas échappées du tout ! Effectivement tout marche comme ça ! Merci infiniement pour votre aide, je pourrais aller me coucher serein

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/04/2010, 09h34
  2. Insérer dans un array
    Par PrinceMaster77 dans le forum ASP
    Réponses: 3
    Dernier message: 29/03/2005, 09h22
  3. [Struts] Passer un argument dans un property
    Par Malaussene dans le forum Struts 1
    Réponses: 4
    Dernier message: 07/09/2004, 10h11
  4. problème our passer des string dans tableau d'int
    Par Battosaiii dans le forum C++
    Réponses: 9
    Dernier message: 15/07/2004, 17h42
  5. Réponses: 5
    Dernier message: 08/03/2004, 10h28

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