Bonjour à tous (très chouette site, par ailleurs),
Je tente d'apprendre le PHP en suivant le très bon tutoriel proposé sur ce site :
http://sylvie-vauthier.developpez.co...rand-debutant/
Je me pose une question à propos de la validation d'un formulaire : dans quels cas l'utilisateur peut-il utiliser la touche "Enter" pour valider les données ? Je travaille pour l'instant sur le code suivant (tiré de http://sylvie-vauthier.developpez.co...e=syntaxe#LV-6) :
En gros, cela affiche un formulaire avec une zone de texte et un bouton de validation. Le but est de vérifier si le nombre entré dans la zone de texte est un nombre premier ou pas. Le code se trouve dans un fichier appelé "premiers.php" (donc la validation du formulaire renvoie bien vers le même fichier).
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
20
21
22
23
24
25<html> <head><title>Nombres premiers</title></head> <body> <?php //intègre toutes les fonctions du fichier voisin include('fonctions.php'); //présente le formulaire ?> <form method="POST" action="premiers.php"> Entrez votre nombre (entre 1 et 10 000 SVP)<input type="text" name="num"/> <input type="submit" name="valider" value="OK"/> </form> <?php //si user a cliqué OK if(isset($_POST['valider'])){ //récupère la valeur entrée $nombre=$_POST['num']; //convoque la fonction premiers $verdict=premiers($nombre); //affiche le verdict entier mis en forme. echo $nombre.' '.$verdict.'.'; } ?> </body> </html>
Lorsque je teste ce script sur Firefox, je n'ai aucun problème : je peux valider mon nombre aussi bien en cliquant sur le bouton "OK" ou bien en tapant sur la touche "Enter" lorsque je suis dans le champ d'entrée.
Par contre, si j'utilise Internet Explorer 9 ou bien le browser interne à Eclipse PHP (qui est probablement également aussi IE), la validation ne marche QUE si j'utilise le bouton "OK". Si j'utilise la touche "Enter" du clavier, le script se comporte comme si la variable $_POST['valider'] n'était jamais créée (j'ai testé en plaiçant des "echo" de test dans la condition "isset) et la page est réinitialisée.
Est-il normal qu'un simple formulaire ait des comportements aussi différents dans Firefox que dans IE ? Est-il possible de forcer la validation par la touche "Enter" dans IE ?
Ou bien est-ce un problème (bien caché) dans mon code ou encore un problème de configuration ?
Voici les détails de mon installation :
- Windows 7 64 bits
- Eclipse PHP
- Dernière version de WAMP 2.0i), donc avec PHP 5.3.0 Apache Apache 2.2.11)
Merci d'avance pour votre aide !







Répondre avec citation



Partager