Fonction

Signaler
Messages postés
47
Date d'inscription
lundi 11 juin 2007
Statut
Membre
Dernière intervention
14 mai 2009
-
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
-
Bonjour,

l'objectif de la fonction suivante est de verifier que au moins un des 3 champ (sexe, region, age (de 'age1' à 'age2')) est rempli.

Mon problème est le suivant : lorsque je valide mon formulaire, le navigateur passe à la page suivante. Et ce, que les champs soient rempli ou non.

function verif_formulairerecherche()
{
 var validform=0;
 if ( document.formulairerecherche.sexe.value != "" )
 {
  validform=1;
 }
 if ( document.formulairerecherche.region.value != "" )
 {
  validform=1;
 }
 if ( document.formulairerecherche.age1.value != ""  &&  document.formulairerecherche.age2.value != "" )
 {
  validform=1;
 }
 if ( validform == 0 )
 {
  alert("Veuillez entrer au minimum 1 critere de recherche");
  return false;
 }
}
//-->

Pouvez vous m'aider?

Merci

7 réponses

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
bonjour,
4 champs donc... si j'ai compris....

if ( document.formulairerecherche.sexe.value == "" &&
document.formulairerecherche.region.value == "" &&
document.formulairerecherche.age1.value == "" &&
document.formulairerecherche.age2.value == "" )
{ alert("entrer au minimum 1 critere de recherche");
return false;
}
else { return true; }
Messages postés
47
Date d'inscription
lundi 11 juin 2007
Statut
Membre
Dernière intervention
14 mai 2009

Merci mais ca ne marche pas.

Lorsque je ne rentre aucune infos, le navigateur m'ouvre la page suivante...
Messages postés
47
Date d'inscription
lundi 11 juin 2007
Statut
Membre
Dernière intervention
14 mai 2009

^De plus, j'ai le même problème en php avec le code :

If ( (!isset($sexe)) and (!isset($region)) )
{
 echo '';
 echo 'Veuillez renseigner au minimum 1 critere de recherche';
 echo '

';
} else
{
// resultat de la recherche
}

Dans le navigateur, si je ne renseigne ni le sexe, ni l'age, il m'ammène a // resultat de la recherche. Logique n'est ce pas..

Peut etre ai je un problème de configuration avec PHP3.

Si vous avez des idées. Je suis mal barré.
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
si, si ( l'impératrice ) ça doit marcher.

ça dépend de ton formulaire et de comment cette fonction est appelée,
tu ne dois pas respecter les règles de base :

<form name="formulairerecherche" action.....
         onsubmit="return(verif_formulairerecherche);"... >
    ... tes champs....
  
</form>

si on voyait ce que tu fais, on pourrait sûrement te dire.
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
ou une erreur de syntaxe ( pas testé, car je n'avais pas le formulaire ! )
ou ailleurs d'ailleurs ?
Navigateurs |Quelques Explications |----
Chrome
, contrôler page actuelle / Options pour développeurs
/ Console Javascript, ----
FireFox
, Outils / Console d'erreurs
et mieux : télécharger FireBug, ----
Internet
Explorer
, activer le deboggage : Outils/options Internet/Avancés
dans la liste, sous "Navigation" : décocher
o Afficher une notification de chaque erreur de script
o Désactiver le débogage de Scripts (Internet Explorer)
et mieux (pour IE < 8) : télécharger le Debogger IE
voir aussi : DebugBar et Companion JS, ----
K-Meleon
, utils / Cons, ----
Opera
, utils / Asole d'erreurs, ----
Safari
, Debug / Show JavaScript Console
° modifier Fichier com.apple.Safari.plist situé dans le
répertoire : Support:\Documents and Settings\utilisateur
\Application Data\Apple Computer\Safari\Preferences\
y ajouter <key>IncludeDebugMenu</key>
----
Messages postés
47
Date d'inscription
lundi 11 juin 2007
Statut
Membre
Dernière intervention
14 mai 2009

Voici la première page avec le formulaire (a savior que c'est index.php et qu'il y a un autre formulaire et son nom est bien entendu différent) :

<form name="formulairerecherche" method="POST" action="index.php?page=resultatsrecherche.php" onSubmit="return verif_formulairerecherche()"> 
                 ----

                    Sexe :
          ,
                    Homme
          ,
         
         ----

          ,
                    Femme
          ,
         
        

                               

                 ----

                    Age :
          ,
                    de <select name="age1">
          <option></option>
          <?
          for($i=13; $i < 100; $i++)
          {
           echo '<option>'.$i.'</option>';
          }
          ?>
          ,
         
         ----

          ,
                    a <select name="age2">
          <option></option>
          <?
          for($i=13; $i < 100; $i++)
          {
           echo '<option>'.$i.'</option>';
          }
          ?>
          ans
          ,
         
        

        
                 ----

                    Region :
          <select name="region" STYLE="width:150">
          <option selected></option>
          <option>Alsace</option>
          <option>Aquitaine</option>
          <option>Auvergne</option>
          <option>Basse-Normandie</option>
          <option>Bourgogne</option>
          <option>Bretagne</option>
          <option>Centre</option>
          <option>Champagne-Ardenne</option>
          <option>Haute-Normandie</option>
          <option>Ile-De-France</option>
          <option>Languedoc-Roussilon</option>
          <option>Limousin</option>
          <option>Lorraine</option>
          <option>Midi-Pyrenees</option>
          <option>Nord-Pas-De-Calais</option>
          <option>Pays-De-La-Loire</option>
          <option>Picardie</option>
          <option>Poitou-Charentes</option>
          <option>Provence-Alpes-Cote-D'Azur</option>
          <option>Rhone-Alpes</option>
          </select>
          ,
         
        

         
                 
                               
        </form>

........................

Toujours dans la page index.php, voici la fnoction javascript :

<script type="text/javascript">
function verif_formulairemembre()
{
 if(document.formulairemembre.pseudo.value == "")
  {
  alert("Veuillez entrer votre pseudo");
  document.formulairemembre.pseudo.focus();
  return false;
  }
 if(document.formulairemembre.pass.value == "")
 {
  alert("Veuillez entrer votre mot de passe");
  document.formulairemembre.pass.focus();
  return false;
 }
}




function verif_formulairerecherche()
{ if (    document.formulairerecherche.sexe.value "" && document.formulairerecherche.region.value "" &&  document.formulairerecherche.age1.value == "" && document.formulairerecherche.age2.value == "" )
 {
  alert("entrer au minimum 1 critere de recherche");
  return false;
 }
}
//-->
</script>

..................................

Et la page resultatsrecherche.php :
If ( (!isset($sexe)) and (!isset($region)) )
{
 echo '';
 echo 'Veuillez renseigner au minimum 1 critere de recherche';
 echo '

';
} else
{
// resultat de la recherche
}

Bien entendu, ces 2 pages sont dans le mm repertoire
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
ah mais bien sûr !
tu ne nous disais pas que age1, par exemple, était un select
et dans lequel il n'y avait pas de .value !!!!
dans remplace déjà
document.formulairerecherche.age1.value == ""
par
document.formulairerecherche.age1.selectedIndex > 0
( puisque l'option 0 est vide )
pareil pour age2... et les autres select s'il y a....
@+