Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2886 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Controle de formulaire html, controle javascript par fonction

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Controle de formulaire html, controle javascript par fonction

n°1848803
Bilbo248
Posté le 09-02-2009 à 09:43:15  profilanswer
 

Bonjours avant tout voici le formulaire html ( de test bien sur ),  

Code :
  1. <form action="" method="post" name="formulaire">
  2. <div id="info">
  3. <input name="sire" type="text" size="15" onKeyUp="mail();"/>
  4. </div>
  5. </form>


 
Voici le code javascript :

Code :
  1. function mail(ici ) {
  2. if (this.value != "" )  {
  3.  aroba = document.formulaire.this.value.indexOf('@');
  4.  point = document.formulaire.this.value.indexOf('.');
  5.  if ((aroba < 0)|| (point < 0))   {
  6.   document.formulaire.this.style.backgroundColor ="#CC0033";
  7.   }
  8.  else { document.formulaire.this.style.backgroundColor ="#33FF00";}
  9. }
  10. }


 
 
Bon mon probléme est que je voudrai pouvoir avoir une fonction javascript totalement transposable à un autre formulaire, et à un autre input, soit via le passage de paramétre dans la fonction soit avec le this.
Mais je ne comprend pas vraiment comment fonctionne le this, ni comment intégré une variable pour faire le index of..
 
Merci de vos réponse.


Message édité par Bilbo248 le 09-02-2009 à 09:43:29

---------------
Photographie d'amateur |--| Stats BDPV - Photovoltaique
mood
Publicité
Posté le 09-02-2009 à 09:43:15  profilanswer
 

n°1848840
macgawel
Posté le 09-02-2009 à 11:23:38  profilanswer
 

Code :
  1. <input name="sire" id="sire" type="text" size="15" onKeyUp="verif_mail("sire" );" />


Code :
  1. function verif_mail(lemail) {
  2.   if (document.getElementById(lemail).value != "" ) {
  3.      aroba = document.getElementById(lemail).value.indexOf('@');
  4.      point = document.getElementById(lemail).value.indexOf('.');
  5.      if ((aroba < 0)|| (point < 0))   {
  6.        document.getElementById(lemail).style.backgroundColor ="#CC0033";
  7.      }
  8.      else { document.getElementById(lemail).style.backgroundColor ="#33FF00";}
  9.      }
  10.   }
  11. }


Quelques remarques :
- J'aurais tendance à mettre la vérification à la sortie, plutôt qu'au "onKeyUp"
- La vérification du mail est sommaire. Tu devrais utiliser une expression régulière.
- Renomme ta fonction. mail(), ce n'est pas assez parlant et tu risques d'avoir des conflits de fonctions...
- Une taille de 15 pour un mail, c'est un peu court.
- Enlève le div dans le form ! Un div est un élément "bloc", tout comme le form. Or, d'après le w3c on ne doit pas emboîter des éléments blocs...

n°1848854
Bilbo248
Posté le 09-02-2009 à 11:52:37  profilanswer
 

macgawel a écrit :

Code :
  1. <input name="sire" id="sire" type="text" size="15" onKeyUp="verif_mail("sire" );" />


Code :
  1. function verif_mail(lemail) {
  2.   if (document.getElementById(lemail).value != "" ) {
  3.      aroba = document.getElementById(lemail).value.indexOf('@');
  4.      point = document.getElementById(lemail).value.indexOf('.');
  5.      if ((aroba < 0)|| (point < 0))   {
  6.        document.getElementById(lemail).style.backgroundColor ="#CC0033";
  7.      }
  8.      else { document.getElementById(lemail).style.backgroundColor ="#33FF00";}
  9.      }
  10.   }
  11. }


Quelques remarques :
- J'aurais tendance à mettre la vérification à la sortie, plutôt qu'au "onKeyUp"
- La vérification du mail est sommaire. Tu devrais utiliser une expression régulière.
- Renomme ta fonction. mail(), ce n'est pas assez parlant et tu risques d'avoir des conflits de fonctions...
- Une taille de 15 pour un mail, c'est un peu court.
- Enlève le div dans le form ! Un div est un élément "bloc", tout comme le form. Or, d'après le w3c on ne doit pas emboîter des éléments blocs...


 
A la sortie ?
Avec php ?
J'ai des notions assez limité de java..
Cet méthode assez simpliste me convient plutôt bien, le contrôle n'a pas besoin besoin d'être rigoureux.
POur le renommage de la fonction je suis d'accord.
La taille du champ est pour le moment ignoré.
Hum çà peut créer des problèmes cet histoire du div dans le form ?


---------------
Photographie d'amateur |--| Stats BDPV - Photovoltaique
n°1848870
macgawel
Posté le 09-02-2009 à 12:57:57  profilanswer
 

Bilbo248 a écrit :

A la sortie ?
Avec php ?

PHP  :??:  
Il n'y a pas de PHP ici !
 

Bilbo248 a écrit :

J'ai des notions assez limité de java..

JavaScript.
 

Bilbo248 a écrit :

Cet méthode assez simpliste me convient plutôt bien, le contrôle n'a pas besoin besoin d'être rigoureux.


Si tu veux pousser un peu, va voir les expressions régulière... Ca ouvre des possibilités impressionantes.

Bilbo248 a écrit :

Hum çà peut créer des problèmes cet histoire du div dans le form ?

Pas plus que ça, mais ça peut... Au minimum, les navigateurs "alternatifs" (pour aveugles, par exemple) risquent de ne pas comprendre le formulaire...

n°1849298
Bilbo248
Posté le 10-02-2009 à 09:26:41  profilanswer
 

macgawel a écrit :

PHP  :??:  
Il n'y a pas de PHP ici !
 


 

macgawel a écrit :

JavaScript.
 


 

macgawel a écrit :


Si tu veux pousser un peu, va voir les expressions régulière... Ca ouvre des possibilités impressionantes.


 

macgawel a écrit :

Pas plus que ça, mais ça peut... Au minimum, les navigateurs "alternatifs" (pour aveugles, par exemple) risquent de ne pas comprendre le formulaire...


Juste que les contrôles j'aurai pu les traité via php.
J'ai entendu parler des expressions réguliére sur php, et si c'est quelque chose du genre oui çà à l'air puissant mais compliqué, mais va falloir que je m'y mette.
Et je sais par avance que mon application ne sera pas utilisé par une personne visuellement déficiente.
 
J'ai un autre souci, comment faire un controle de selection de liste ?
Par exemple j'ai çà :  

Code :
  1. <select id="liste_race" onblur="choix_liste('liste_race')"><option>remplie par une requête</option></select>


Et je veux que çà soit rouge lorsque aucun choix n'est fait.
 
Merci des tes judicieux conseil.


---------------
Photographie d'amateur |--| Stats BDPV - Photovoltaique
n°1849311
macgawel
Posté le 10-02-2009 à 09:55:15  profilanswer
 

Bilbo248 a écrit :


Juste que les contrôles j'aurai pu les traité via php.


Ce serait mieux... Ne serait-ce que parce que, justement, on pourrait désactiver le Javascript, et s'il n'y a pas de vérification côté serveur ça peut provoquer des gros problèmes derrière...
 
Pour ta liste déroulante, il "suffit" de contrôler sa valeur, et de définir le background-color à rouge... En JS ça peut se faire avec un document.getElementById(maliste).style

n°1849376
Bilbo248
Posté le 10-02-2009 à 11:48:18  profilanswer
 

macgawel a écrit :


Ce serait mieux... Ne serait-ce que parce que, justement, on pourrait désactiver le Javascript, et s'il n'y a pas de vérification côté serveur ça peut provoquer des gros problèmes derrière...
 
Pour ta liste déroulante, il "suffit" de contrôler sa valeur, et de définir le background-color à rouge... En JS ça peut se faire avec un document.getElementById(maliste).style


Je suis sur que l'utilisateur disposera de Javascript et qu'il sera activé.
Je sais faire avec php le controle d'erreur, mais mon but est de le faire sous js pour cet application.
Pour la liste j'ai trouvé :

Code :
  1. function  choix_liste(nomliste) {
  2.  msg = document.getElementById(nomliste).selectedIndex;
  3.  if ( msg=='0') {
  4.     document.getElementById(nomliste).style.backgroundColor = "#CC0033";
  5.     document.getElementById("Valider" ).disabled=true;}
  6.  else {document.getElementById(nomliste).style.backgroundColor = "#33FF00";
  7.     document.getElementById("Valider" ).disabled=false; }
  8.  }


En considérant bien sur que le choix par défaut soit nul ou soit une information, ce qui est mon cas.


---------------
Photographie d'amateur |--| Stats BDPV - Photovoltaique

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Controle de formulaire html, controle javascript par fonction

 

Sujets relatifs
Capture HTML ?Fonction md5() en C
PHP explication fonction pack()HTML to XML pour flux RSS
plusieurs enregistrements pour un seul formulaireLancer un script VBS dans un fichier HTML
[Oracle 10g] Utilisation d'une fonction packagée ds un NOT EXISTSRécupération des données (curseur) d'une fonction oracle
Récupérer un tableau d'une fonctionjavascript : récupérer valeur champs dans une autre page
Plus de sujets relatifs à : Controle de formulaire html, controle javascript par fonction


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR