5568 sujets

Sémantique web et HTML

Bonjour à tous,

Voici un peitt bug que je n'avais jamais remarqué, et que je peine à comprendre.

J'ai un petit (très petit) formulaire comportant un input[type=text] et une input[type=submit].
Sur FF, si j'entre une valeur dans le champ de texte, et que j'appuie sur entré, le formulaire est soumis.
Sur IE, dans les même conditions, la page semble rechargée mais le formulaire n'est pas traité...

La page est en xhtml 1.0 strict.
Le code xhtml :

<form action="messagerie+contacts" method="post" name="addcontact" >
	<label for="nom_contact">Ajouter un contact : </label>
	<input type="text" name="nom_contact" />
	<input type="submit" name="addcontact_submit" value="Ajouter" />
</form>

et la façon dont le code php constate la soumission du formulaire :

if(isset($_POST['addcontact_submit']) && !empty($_POST['nom_contact'])){
/* traitement du formulaire */
}


Voilà voilà... Bien sur en cliquant sur le bouton submit, tout se passe bien dans les deux navigateur. et si j'ai le focus sur submit au moment où j'appuie sur entrée, tout se passe bien également...

Merci d'avance
Ce que tu as dans ton attribut action me semble bizarre, ça vient surement de là... cet attribut doit contenir une url valide (action="traitement.php" par exemple)
Je n'ai jamais eu ce genre de problème avec IE ... mais je soutiens l'argument de l'intervenant précédent.
le lien défini dans action="" n'est autre qu'une url réécrite, et je peux vous assurer que c'est bien la page pointée qui est chargée après appui sur Smiley enter .

D'ailleurs le problème reste identique avec index.php?page=messagerie&spage=contact...
Hop double post pour plus de clareté :

En fait, c'est apparement le

isset($_POST['addcontact_submit'])

qui pose problème, ce qui s'explqiuerai apr le fait que comme on n'a pas cliqué dessus, il n'a pas été passé dans le tableau $_POST par IE...

Un peu étrange, mais en tout cas en s'en débarassant, ça marche.

Merci pour votre aide.
Je confirme, le bouton submit n'est pas envoyé lors d'une soumission par enter.
Voilà bien une mauvaise habitude à abandonner, celel de vérifier la valeur du bouton submit pour savoir si les données ont été transmises.
Je ne l'utilise pas pour savoir si les données sont transmises, mais pour différencier l'action en cours...

Celà dit, apparement il va falloir procéder autrement.

Et enfin, sachant que FF envoie la valeur du submit même s'il n'a pas été clqiué, je suis plus porté à croire que FF a raison que IE...
Je suis personnellement de l'avis de IE.
S'il y a plusieurs boutons pour un même formulaire, il n'existe aucun moyen en HTML pour signaler quel est le bouton par défaut.
Si c'était le cas, firefox aurait raison de transmettre cette valeur quoi qu'il arrive, mais comme ce n'est pas le cas, j'estime que quand il y a plusieurs boutons, il est impossible de savoir lequel a voulu prendre l'utilisateur en appuyant sur entrée.