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

Symfony PHP Discussion :

Action sur input type="image" ?


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 89
    Points : 64
    Points
    64
    Par défaut Action sur input type="image" ?
    Bonjour,

    Tout d'abord désolée si je ne suis pas dans le bon forum.

    J'ai un problème avec la balise <input type="image" ... >

    J'explique, j'ai une page avec plusieurs graphiques.
    Je souhaite que quand je clique sur l'un d'eux, il s'affiche en grand avec certaines paramètres à côté.
    J'ai déjà les deux partials faisant ça, le code de chacun est bien séparé.

    Le problème, c'est que je veux que l'action de mon clique se fasse sur une image.

    J'ai donc fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <form method="post">
    	<input type="text" name="num_med_hidden" value="<?php echo $medaille; ?>"/>
    	<input type="text" name="num_ordre_hidden" value="<?php echo $i; ?>"/>
    	<input type="image" name="btn_graph" src="http://www.monprojet.fr/include/p_artichow_graph_soudeuse.php?id=<?php echo $id_soud;?>" width="100%" alt="Graph"/>	
    	<!--<input type="submit" name="btn_graph"/>--> 
    </form>
    Et voici mon action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    if($this->getRequestParameter('btn_graph')){
    	$medaille_en_cours = $this->getRequestParameter('num_med_hidden');
    	$soudure_en_cours = $this->getRequestParameter('num_ordre_hidden');
     
    	$this->id_soudure = Doctrine_Core::getTable('TTraitement')->getGraphSoudeuse($medaille_en_cours, $soudure_en_cours, date('Y'));
     
    	$this->medaille = $medaille_en_cours;
    	$this->soudure = $soudure_en_cours;						
     
    	$this->partial = 'partial_soudure_soudeuse';
    }
    Quand je fais le test avec le bouton "submit" tout marche bien, mais quand je fais le test avec le input type="image" ça me recharge seulement la page.

    Qqun voit mon erreur?

    Merci d'avance.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2007
    Messages : 156
    Points : 192
    Points
    192
    Par défaut
    Et pourquoi tu ne fais pas un simple lien sur chacune de tes images ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 28
    Points : 31
    Points
    31
    Par défaut
    Bonjour,

    Alors un bouton type image est un simple bouton... Alors qu'un bouton submit, est un bouton spécial dédié a valider le formulaire.

    Tu as plusieurs choix qui s'offre a toi:
    1. Javascript : tu rajoute un id par exemple a ton bouton de validation
    2. Tu met un submit normal et pour afficher l'image, tu change le background via un fichier style (ou balise css pour de la génération a la volé).


    ex en javascript:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <form method="post" id='my_form'>
    	<input type="text" name="num_med_hidden" value="<?php echo $medaille; ?>"/>
    	<input type="text" name="num_ordre_hidden" value="<?php echo $i; ?>"/>
    	<input type="image" id="btn_submit" name="btn_graph" src="http://www.monprojet.fr/include/p_artichow_graph_soudeuse.php?id=<?php echo $id_soud;?>" width="100%" alt="Graph" onclick="document.my_form.submit();"/>
    </form>
    ps : je l'ai écrite comme ça ici (freestyle)

  4. #4
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Tu as jeté un oeil pour voir si ton paramètre $this->getRequestParameter('btn_graph') existe ?

    du style un die() dans ton code qui affiche le retour du getRequestParameter...

    On peut avoir plusieurs bouton de retour sur un formulaire, je l'ai déjà fais, mais je n'ai pas le code ici. Par contre, je n'ai pas testé avec un bouton image.

    Attention au bouton avec une image utilisé en css, il faut que cela tienne le coup en traduction éventuel (donc l'image ne peut contenir du texte) et il faut que cela soit utilisable pour un non voyant et (troisième) que cela puisse fonctionner en mode dégradé (si le css n'est pas chargé).

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/04/2010, 11h56
  2. [Upload] Question sur <input type='file' />
    Par Sayrus dans le forum Langage
    Réponses: 7
    Dernier message: 19/04/2007, 10h39
  3. action sur un type
    Par muquet dans le forum Langage
    Réponses: 5
    Dernier message: 10/02/2006, 15h26

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