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 ?

1 réponse


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.