Bonjour,
J'utilise des balise <fieldset> autour de <table> pour avoir un cadre avec <legend>. Ça fonctione parfaitement sauf dans un cas.
Ce même code se retrouve dans une autre page php et donne le résultat attendu. A noter que juste avant, un autre <fieldset> s'affiche correctement.

<fieldset>
    <legend>Les opérations</legend> 
    <table align="center">
        <?php
        foreach ($operations as $tupleOperation) {
            $id = $tupleOperation['id'];
            if ($id == 0)
                continue;
            echo '<tr><td align="right">';
            echo $tupleOperation['texte']
            . '<input type="radio" name="operation"'
            . "value=$id>"
            . "</input></td></tr>";
        }
        ?>
        <tr>
            <td align="right">Toutes
                <input type="radio" checked="checked"  name="operation" value="-1" />
            </td>
        </tr>                               
    </table>
</fieldset>

Première observation : Netbeans, mon IDE, colore les balises correspondantes en vert et si c'est le cas pour la balise <table>, c'est en rouge pour les balises <fieldset> et </fieldset>. Le problème est déjà détecté à ce niveau donc problème de syntaxe.
Deuxième observation : dans l'inspecteur, le <fieldset> ne contient que la balise <legend>. Il est suivi d'une table vide puis de ma table. copie écran inspecteur
Troisième observation : en copiant le bloc <fieldset> ... </fieldset> dans un nouveau fichier php, les balises <fieldset> s'apparient et s'affichent en vert.

En conclusion, il y a un problème de syntaxe que je ne trouve pas. D'autant que c'est un copié/collé à peine modifé d'une page qui s'affiche correctement.

Où est mon erreur de syntaxe ?

3 réponses


Hello, c'est bizarre, le seul truc que je vois c'est l'utilisation d'un </input> que tu pourrais remplacer par /> dans la mesure où il s'agit d'une balise autofermante. Reste à voir si ça solutionne le problème..

Merci JRcode,
Ça m'a permis de corriger quelques <input> mal fermés. (c'est souvent mon cas)
Et j'ai trouvé : il s'agissait d'une balise <table> qui traînait au dessus de ce code.
On, ne pense pas assez qu'un dysfonctionnement peut venir de l'extérieur d'u bloc de code correct.

En effet, c'est ce que semblait suggérer ta troisième observation ;)