8791 sujets

Développement web côté serveur, CMS

Bonjour à tous voilà je vous expose mon petit souci qui est assez dérangeant j'ai sur ma page d'accueil une barre pour effectuer une recherche rapide j'entre le nom d'une ville et j'appuie sur le bouton entrer de mon clavier ou sur mon bouton recherche qui est sur le site et là voilà le probléme avec firefox que j'appuie sur la touche entrer du clavier ou sur le bouton rechercher tout fonctionne bien et avec internet explorer si j'appuie sur la touche enter du clavier la page se charge mais sans avec rien dedans. Dans ma page de la recherche rapide j'ai mis un si le bouton existe et j'ai l'impression que en appuyant sur enter pour IE le bouton n'existe pas. Pouvez vous m'aider s'il vous plait à résoudre le souci. Voici le code de la recherche rapide (il est inclut dans la page d'accueil)


<script type="text/javascript">
        var clk=false;
        function main(chp)
        {    if (!clk)   
            {    chp.value="";
                  clk=true;   
            }
        }
    </script>

<form action="traitrech.php" method="post">
Entrez ici le nom d une ville <input type="text" onfocus="if ( !this.cliquer ) { this.value=''; this.cliquer=true; } " name="rech" value="ex [langue]aris" class="inputconnexion2" />

 <input type="submit" value="Rechercher" name="rechercherapide" class="inputconnexion" />
</form>



et voici le code qui traite la recherche

 <?php 
session_start ();


?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>traitrech</title>
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />

</head>
<body>


<div class="div_principale">
<div class="banniereduhaut">


<img class="normal" src="Images/Banner3.gif"  alt="banniere du site"/>


</div>
<div class="rech_rapide">

</div>

<div class="connexion">

<?php 
include("connexion.php");

	

?>

</div>

<div>
<?php
include("menu.php");
include("base.php");

?>

</div>
<div class="contenu">
<?php
if (isset ($_POST['rechercherapide'])) {


$nomville=$_POST['rech'];
$req = mysql_query("SELECT COUNT(*) FROM destination WHERE nomville='$nomville'" ); 
$res = mysql_fetch_row($req);
if ($res[0]==0){?>
<h4 class="inputconnexion"> D&eacute;sol&eacute; mais la ville que vous avez choisi n&acute;est pas disponible </h4>
<form method="post" action="traitrech.php">
<input type="submit" name="retour" value="retour" class="inputconnexion" />
</form>
<?php
} 


merci de m'aider
Salut,

je viens de faire le test sur IE et effectivement :

* en cliquant sur le bouton Rechercher la variable POST rechercherapide existe.

* en saisissant du texte dans l'INPUT et en appuyant sur Entrée la variable n'existe pas (IE et ses mystères Smiley langue ).

Quoi qu'il en soit il suffit de remplacer
if (isset ($_POST['rechercherapide'])) {
par
if (!empty($_POST['rech'])) {

Au passage, pour des raisons d'accessibilité et plus généralement d'ergonomie, il faut associer un élément LABEL à un élément INPUT :
<label for="rech">Entrez ici le nom d une ville </label><input type="text" id="rech" name="rech" ... />
Merci bien pour cette réponse en effet dans ce cas là en appuyant sur entrée avec le !empty tout fonctionne merci bien