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

Langage PHP Discussion :

[PHP-JS] Pourquoi le résultat s'affiche avant même le submit?


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 129
    Points : 93
    Points
    93
    Par défaut [PHP-JS] Pourquoi le résultat s'affiche avant même le submit?
    Bonjour à tous,

    Je commence mon apprentissage en php et je me demandais s'il y avait moyen d'empêcher que le résultat du formulaire s'affiche avant même que l'utilisateur clique sur le bouton submit (le résultat apparaît au chargement de la page entre autre). J'ai travaillé à partir d'un exemple trouvé dans les sources php pour apprendre les rudiments des formulaires.

    Voilà le code :
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    <?php
    $region = array (
    1 => 'Alsace' ,
    2 => 'Aquitaine' ,
    3 => 'Auvergne' ,
    4 => 'Basse-Normandie' ,
    5 => 'Bourgogne' ,
    6 => 'Bretagne' ,
    7 => 'Centre' ,
    8 => 'Champagne-Ardenne' ,
    9 => 'Corse' ,
    10 => 'Dom-Tom' ,
    11 => 'Franche-Comté' ,
    12 => 'Haute-Normandie' ,
    13 => 'Ile de France' ,
    14 => 'Languedoc-Roussillon' ,
    15 => 'Limousin' ,
    16 => 'Lorraine' ,
    17 => 'Midi-Pyrénées' ,
    18 => 'Nord-Pas-de-Calais' ,
    19 => 'Pays de la Loire' ,
    20 => 'Picardie' ,
    21 => 'Poitou-Charentes' ,
    22 => 'PACA' ,
    23 => 'Rhône-Alpes'
    ) ;
    function test($region)
    {
     echo 'Vous avez sélectionné la région : '.$region;
    }
     
    function listbox ( $name , $array_value = array() , $array_selected , $multiple = 0 , $size = 1 )
    {
     $select = '<select' . ( ( $multiple == 1 ) ? ' multiple name="' . $name . '[]"' : ' name="' . $name . '"' ) . 
     ' size="' . $size . '">' . "n" ;
     foreach ( $array_value as $key => $value )
     {
      $select .= '<option value="' . $key . '"' .
      ( ( $multiple == 1 ) ? ( in_array ( $key , $array_selected ) ? ' selected="selected"' : '' ) : 
      ( $key == $array_selected ? ' selected="selected"' : '' ) ) .
      '>' . $value . '</option>' . "n" ;
     }
     $select .= '</select>' ;
     return $select ;
    }
    echo '<form method="post">';
    echo listbox ( 'region' , $region , 0) ;
    echo '<br/><input type="submit" value="Envoyer" /></form>';
     
    if(isset($_POST['region']))
    {
     $valeur_region = $region[$_POST['region']];
     echo test($valeur_region);
    }
    ?>
    Comment empêcher que le résultat apparaissent au chargement de la page et avant même que l'utilisateur clique submit ?

    Merci à tous.

    iDaaX

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 254
    Points : 304
    Points
    304
    Par défaut
    ??? CHez moi cela fonctionne très bien. (En tout cas comme je m'attendais à ce qu'il fonctionne).
    Le texte "Vous avez sélectionné la région : Alsace " n'apparait que quand j'ai cliqué sur le bouton "Submit".
    Quand un problème a une solution, rien ne sert de s'inquiéter. Quand il n'y a pas de solution, s'inquiéter n'arrange rien.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 129
    Points : 93
    Points
    93
    Par défaut
    Salut ouach,

    Effectivement, je n'avais pas remarqué mais ça fonctionne, seulement lorsque tu rafraîchis la page, les données ne se réinitialisent pas à zéro. Est-ce normal ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 254
    Points : 304
    Points
    304
    Par défaut
    Voudrais-tu que la liste revienne sur "Alsace" après un refresh?
    Voudrais-tu que le message "Vous avez sélectionné la région : Alsace" disparaisse après le refresh?
    Pour ma part, la réponse devrait être non pour les deux questions et c'est chez comme cela que ça se passe. Maintenant, si tu le désires, il est peut être possible qu'il en soit autrement. Il faut faire des recheches. Notamment sur l'événement javascript "onload"
    Quand un problème a une solution, rien ne sert de s'inquiéter. Quand il n'y a pas de solution, s'inquiéter n'arrange rien.

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

Discussions similaires

  1. Pourquoi mon footer s'affiche avant la fin de la page ?
    Par geeka dans le forum Balisage (X)HTML et validation W3C
    Réponses: 22
    Dernier message: 06/07/2015, 16h39
  2. Afficher le résultat d'un COUNT même null
    Par trangsene dans le forum Langage SQL
    Réponses: 10
    Dernier message: 18/11/2005, 18h07
  3. pourquoi mon quickreport n'affiche rien ?
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 8
    Dernier message: 31/07/2005, 00h59
  4. [JLabel][HTML]pourquoi mes images s'affiche pas?!
    Par La Truffe dans le forum Composants
    Réponses: 8
    Dernier message: 29/04/2004, 11h23

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