- 1
[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
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
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
- 1