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 :

Signification d'une balise <a> sans aucun attribut


Sujet :

HTML

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut Signification d'une balise <a> sans aucun attribut
    Bonsoir,

    je suis en train de reprendre un très vieux code que je mets à jour et que j'optimise. Je suis très surpris par ce que je découvre. Je ne comprends comment c'est possible, mais ce code tourne !

    Et là, je viens de découvrir un bout de code et je me demande ce qu'il peut faire...

    Code html : 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
    <form id="F_COMMANDE" action="https://adresse_web.php" onSubmit="return Verifie(this)" method="post"> 
    ...
    <a>
    	<input type="hidden" name="Poids1">
    	<input type="hidden" name="Poids2">
    	<input type="hidden" name="Poids3">
    	<input type="hidden" name="Poids4">
    	<input type="hidden" name="Poids5">
    	<input type="hidden" name="Poids6">
    	<input type="hidden" name="Poids7">
    	<input type="hidden" name="Poids8">
    	<input type="hidden" name="Poids9">
    	<input type="hidden" name="Poids10">
    	<input type="hidden" name="Poids11">
    	<input type="hidden" name="Poids12">
    	<input type="hidden" name="PoidsTotal">
    	<input type="submit" value="commander" name="sub" style="font-size:2.85em;background-color : red;color:white;"> </form>
    </a>
    La balise <form> imbriquée dans une balise <a>, ça semble déjà malsain, mais ce qui m'étonne le plus, c'est cette balise <a> sans attribut href. Quand on clique sur le bouton "commander" (soit le dernier input qui est le seul visible), on va vers la page action du <form> ci-dessus. Pourquoi ?

    Autre question : les <input type="hidden" sans value, ça sert à quelque chose ?

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 136
    Points : 44 934
    Points
    44 934
    Par défaut
    Bonjour,
    La balise <form> imbriquée dans une balise <a>, ça semble déjà malsain, ...
    dans ton cas elle ne sert à rien et de plus mal fermée, mais le navigateur s'en accommodera.


    Quand on clique sur le bouton "commander" (soit le dernier input qui est le seul visible), on va vers la page action du <form> ci-dessus. Pourquoi ?
    Comportement normal d'un formualire lorsque l'on clique sur une input type="submit" et si le script appliqué ne bloque pas l'envoi.


    Autre question : les <input type="hidden" sans value, ça sert à quelque chose ?
    Il est possible qu'un script les initialise et donc en cas de soumission la récupération peut être faite.

    Conseil : passe au validateur HTML ton document pour faire déjà un premier bilan.

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    Merci pour ta réponse.
    J'enlèverai donc cette balise <a>. Pourquoi elle est mal fermée ?

    Le conseil du passage au validateur a été fructueux : j'avais loupé plein de mises à jour que j'ai faites.
    Dans mon optimisation, j'ai introduit des boucles en PHP, ce qui m'a permis de raccourcir énormément le code (et de supprimer plein de duplications). Visiblement, le validateur n'aime pas :
    Saw <?. Probable cause: Attempt to use an XML processing instruction in HTML.


    : Text not allowed in element select in this context.

    From line 115, column 62; to line 115, column 76

    ="'.$j.'">MODELE_00'.$j.'</opti


    et plusieurs dizaines d'autres remarques

  4. #4
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 112
    Points : 16 645
    Points
    16 645
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    ....
    J'enlèverai donc cette balise <a>. Pourquoi elle est mal fermée ?
    ....
    ton
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <form id="F_COMMANDE" action="https://adresse_web.php" onSubmit="return Verifie(this)" method="post"> 
    ...
    	<a>
    	...
    	<input type="submit" value="commander" name="sub" style="font-size:2.85em;background-color : red;color:white;"> </form>
    </a>
    mieux car comme le dit NoSmoking: La balise <form> imbriquée dans une balise <a>, ça semble déjà malsain, ..
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <form id="F_COMMANDE" action="https://adresse_web.php" onSubmit="return Verifie(this)" method="post"> 
    ...
    	<a>
    		<input type="submit" value="commander" name="sub" style="font-size:2.85em;background-color : red;color:white;">
    	</a>
    </form>

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 136
    Points : 44 934
    Points
    44 934
    Par défaut
    Citation Envoyé par laurentSc
    J'enlèverai donc cette balise <a>. Pourquoi elle est mal fermée ?
    Non, c'est une mauvaise imbrication de balises
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form>
      <a>
        <input />
      </form>
    </a>

    Citation Envoyé par laurentSc
    Le conseil du passage au validateur a été fructueux : j'avais loupé plein de mises à jour que j'ai faites.
    ( ... ) Visiblement, le validateur n'aime pas :
    C'est le code HTML généré qu'il faut tester ou la page en ligne mais pas le code PHP.

  6. #6
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    Oui, si je teste le code html généré, il ne reste que 3 erreurs...Mais je n'arrive pas à les corriger :
    Error: Bad value text/html for attribute content on element meta: The legacy encoding declaration did not start with text/html;.

    From line 16, column 5; to line 16, column 57

    ipt>↩↩ <meta http-equiv="Content-Type" content="text/html"/>↩ <

    Error: A document must not include both a meta element with an http-equiv attribute whose value is content-type, and a meta element with a charset attribute.

    From line 17, column 5; to line 17, column 27

    ml"/>↩ <meta charset="UTF-8"/>↩↩</he

    Error: Stray start tag script.

    From line 422, column 1; to line 422, column 51

    Code -->↩<script src="http://stats.hosting24.com/count.php">

  7. #7
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 136
    Points : 44 934
    Points
    44 934
    Par défaut
    Error #1 : je virerais simplement cette ligne

    Error #2 : il faudrait voir le contexte, le code avant, pour avoir une idée plus précise.

    Error #3 : les balises <script> ne sont pas auto-fermante il faut écrire <script></script>.

    Pour exemple le code suivant ne génère pas d'erreur :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <!DOCTYPE html>
    <html lang="fr">
     
    <head>
      <meta charset="UTF-8">
      <title>Titre de la page</title>
      <script src="//chemin-du-script/mon-script.php"></script>
    </head>
     
    <body>
      <p></p>
    </body>
     
    </html>

  8. #8
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    J'ai viré la ligne que tu me dis de virer, et y a plus qu'une seule erreur :
    Stray start tag script.

    From line 421, column 1; to line 421, column 51

    Code -->↩<script src="http://stats.hosting24.com/count.php"></scri
    Dans le copier-coller précédent, j'avais tronqué la fin. Le code concerné est :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <!-- Hosting24 Analytics Code -->
    <script src="http://stats.hosting24.com/count.php"></script>
    <!-- End Of Analytics Code -->

  9. #9
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 136
    Points : 44 934
    Points
    44 934
    Par défaut
    Analyse par le test.

    test NOK
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <!DOCTYPE html>
    <html lang="fr">
    <head>
      <meta charset="UTF-8">
      <title>Titre de la page</title>
    </head>
    <body>
      <p></p>
    </body>
    <!-- Hosting24 Analytics Code -->
    <script src="http://stats.hosting24.com/count.php"></script>
    <!-- End Of Analytics Code -->
    </html>

    test OK
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <!DOCTYPE html>
    <html lang="fr">
    <head>
      <meta charset="UTF-8">
      <title>Titre de la page</title>
    </head>
    <body>
      <p></p>
      <!-- Hosting24 Analytics Code -->
      <script src="http://stats.hosting24.com/count.php"></script>
      <!-- End Of Analytics Code -->
    </body>
    </html>
    tu devrais voir ce qui ne plait pas au validateur

  10. #10
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut

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

Discussions similaires

  1. Créer une balise xml sans namespace
    Par Gregory.M dans le forum Windows Forms
    Réponses: 0
    Dernier message: 17/03/2009, 12h59
  2. Recharger une balise <div> sans recharger la page
    Par bebest93 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 24/12/2008, 13h25
  3. [XSL] Changer le nom d'une balise et d'un attribut XML
    Par castaka dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 23/10/2008, 20h33
  4. [XSLT]problème d'appel de texte dans une balise à partir d'un attribut
    Par docteur chépère dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 18/01/2007, 11h57
  5. Réponses: 2
    Dernier message: 14/06/2006, 11h34

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