Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] Jforms et bouton de validation

Posted by RenaudC on 04/20/2008 23:53

Bonjour,

Je voudrais savoir s'il est possible de ne pas avoir de bouton de validation dans un formulaire. En effet je n'ai qu'une liste contenant les départements provenant d'un dao et je souhaiterai que la validation du formulaire ce fasse automatiquement lors de la sélection du département dans la liste déroulante.

Merci pour vos lumières.

Renaud

  [Opened] Re: Jforms et bouton de validation

Reply #1 Posted by bballizlife on 04/21/2008 08:45

La solution la plus propre, je pense, serait de laisser le bouton de validation pour que ton formulaire fonctionne bien sans JS.

Ensuite, en JS, je masquerais le bouton et j'ajouterais une fonction pour réaliser l'envoi du formulaire sur le onchange de la liste déroulante.


N'importe comment c'est dans la doc

  [Opened] Re: Jforms et bouton de validation

Reply #2 Posted by RenaudC on 04/22/2008 11:29

Bonjour,

Merci ça marche très bien. Voici ce que j'ai utilisé :

 $url = jUrl::get('associations');
        $js = "function redir() {
   choix = document.getElementById(\"jform1_departements\").options[document.getElementById(\"jform1_departements\").selectedIndex].value;
   window.location.href= '".$url."&id_dep=' + choix ;
 }
 function init() {
    if (document.getElementById(\"jform1_departements\").addEventListener){
      document.getElementById(\"jform1_departements\").addEventListener('change', redir,false );
    } 
 else if (document.getElementById(\"jform1_departements\").liste.attachEvent) {
 document.getElementById(\"jform1_departements\").attachEvent('onchange', redir);
    }
 document.getElementById(\"jform1_submit\").style.display='none';
 }
 window.onload = init;";
        $rep->addJSCode($js);

Par contre j'ai encore quelques questions:

1°) Comment puis-je personnaliser les id des formulaires (ex remplacer jform1 par liste et jform1_departements par departements etc...)

2°) Je n'ai pas réussi à utiliser un script externe via ce code :

 global $gJConfig;
 $url = $gJConfig->urlengine['basePath'];
 $rep->addJSLink($url.'scripts/redir.js');

même si l'adresse retourné est bonne dans la source du navigateur le script n'as pas l'air de s'exécuter. Le script js utilisé est le même que ci-desssus. Evidemment j'ai supprimé l'inclusion de la variable $url en ne laissant que la variable javascript choix.

 '".$url."&id_dep=' + choix

remplacé par

 choix

3°) Enfin dans l'espoir d'externaliser le script, comment lui passer le paramètre de l'url de redirection

 $url = jUrl::get('associations');

Merci à tous pour votre aide

Renaud

 
Page
  1. Re: Jforms et bouton de validation