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

HTML Discussion :

input type=image qui ne marche pas toujours


Sujet :

HTML

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 40
    Par défaut input type=image qui ne marche pas toujours
    Bonjour,

    sur mon site j'utilise des input type=image pour donner à mes boutons un look perso.

    Je n'arrive pas à comprendre pourquoi, sur des morceaux de codes qui me parrainent identiques, les images sont parfois cliquables et parfois non (c'est à dire que le lien marche ou ne marche pas).

    2 exemples :

    un bout de code source où les images ne sont pas cliquables

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <div id="panel_titre">
    <form action="traiter_boite.php" method="post" id="traiter_boite" name="traiter_boite">
    	<table width="670" height="64" border="0" cellpadding="3" cellspacing="3" style="padding-left:12px;padding-right:18px">
    	    <tr valign="middle">
    			<td align="left">
     
    				  <input type="image" src="./images/bouton_supprimer_gris.gif" name="supprimer" value="supprimer" />&nbsp;&nbsp;
    				  <input type="image" src="./images/bouton_archiver.gif" name="archiver" value="archiver" />
     
    			</td></td>
     
    			<td align="right"> 
    				1			</td>
    	    </tr>
    	</table>
    	</div>
    (la balise fermante du form est plus loin)
    je rajoute que si j'enlève la div "panel_titre" , ça fonctionne ...



    Un autre bout de code source :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <div id="panel_titre">
     
    	<table width="670" border="0" height="64" cellpadding="3" cellspacing="3" style="padding-left:12px;padding-right:18px">
    		<tr valign="middle">
    		<td align="left" width="85">
    			<form method="post" action="./traiter_message.php?id=14" id="supprimer_message" name="supprimer_message" >
    			 <input type="image" src="./images/bouton_supprimer_gris.gif" name="supprimer" value="supprimer" />
    			 </form></td><td align="left" width="85">
    			 <form method="post" action="./traiter_message.php?id=14" id="archiver_message" name="archiver_message" >
     
    			 <input type="image" src="./images/bouton_archiver.gif" name="archiver" value="archiver"/>
    			 </form>			</td>
    			<td align="right"> 
    				<a class="lienbleu" href="./messagerie.php">Retour &agrave; la bo&icirc;te de r&eacute;ception</a> 
    			</td>
    		</tr>
    	</table>		
     
    	</div>
    ici, aucun soucis, ça marche parfaitement ! Et la même div englobe le tout ici aussi. J'ai essayé, dans le premier fichier, de placer le form de la même manière que dans le 2ème exemple, ça ne marche pas non plus.



    Est ce que vous avez une idée de ce qui peut causer ce comportement étrange ?


    au cas où ça pourait servir, voilà le CSS du panel_titre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    div#panel_titre {
    	float:right;
    	width:680px;
    	height:64px;
    	background: url("../images/cadre_menu.gif") no-repeat top;
    	padding-left:25px;
    	padding-left:25px;
    	}

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Ton premier code est mal formé... tu ouvres le forme dans une div mais tu fermes la div avant le form !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut
    L'indentation correcte d'un code permet de repérer assez facilement les erreurs d'oubli de fermetures des balises ou de fermetures doubles.

    par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    			<td align="left">
    				  
    				  <input type="image" src="./images/bouton_supprimer_gris.gif" name="supprimer" value="supprimer" />&nbsp;&nbsp;
    				  <input type="image" src="./images/bouton_archiver.gif" name="archiver" value="archiver" />
    				  
    			</td></td>
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 40
    Par défaut
    Le </td></td> provient d'un mauvais copier/coller réalisé en 2 fois. Il n'est pas dans le code en réalité.


    sinon, j'ai changé la place du form pour qu'il soit à la fois ouvert et fermé à l'extérieur de la div. Ca ne change rien.
    Mais je ne comprends pas pourquoi le fait d'utiliser une div, cette div, empèche aux liens de fonctionner ? Est-ce que le fait d'entrer dans une div pourrait fermer implicitement le form ?

  5. #5
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut
    Div n'interagit pas avec form.

    DIV permet de faire une division, un "block".

    Cependant, pourquoi mettre le form à l'extérieur de la div?

    De même pourquoi utiliser un tableau pour la mise en page de deux images?
    Tu génères un code lourd et peu lisible.
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  6. #6
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Citation Envoyé par Bovino
    Ton premier code est mal formé... tu ouvres le forme dans une div mais tu fermes la div avant le form !
    Tout à fait !
    Tu as un problème d'imbrication ! tu peux pas tout mélanger de cette manière; tu dois d'abord fermer un sous-élément avant de fermer l'élément parent.

Discussions similaires

  1. Image qui ne marche pas sur google chrome
    Par lolaalol dans le forum Général Conception Web
    Réponses: 4
    Dernier message: 13/08/2013, 14h55
  2. Un .configure() qui ne marche pas avec l'argument 'image'
    Par moithibault dans le forum Tkinter
    Réponses: 1
    Dernier message: 05/12/2010, 03h23
  3. lien PHP avec arret sur image qui ne marche pas
    Par MYBEE DESIGN dans le forum ActionScript 1 & ActionScript 2
    Réponses: 0
    Dernier message: 12/09/2009, 19h17
  4. [HTML] input type text qui ne bouge pas
    Par esther60 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 19/05/2008, 13h24
  5. Utlisation d'image pour les <li> qui ne marche pas
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 05/11/2005, 17h37

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