Changeset 28472 in spip-zone


Ignore:
Timestamp:
May 7, 2009, 1:09:07 AM (12 years ago)
Author:
kent1@…
Message:

Suite de l'amélioration et nettoyage des controleurs :

  • Le crayon geo change de plugin
  • On passe l'envoironnement dans le pipeline permettant d'ajouter des règles de validation dans les controleurs
  • On ajoute des controleurs pour "pays" et "pays_pro" l'ancien fichier controleur "pays" qui n'en était pas un mais simplement la liste des options pour le select des pays va dans prive/listes
  • La fonction d'affichage du bouton ok se focalise dorénavant sur la présence de p.erreur
Location:
_plugins_/_test_/inscription2/inscription2_2_0
Files:
3 added
1 deleted
5 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/_test_/inscription2/inscription2_2_0/controleurs/adressecomplete.html

    r28426 r28472  
    33        Controleur pour le crayon 'adressecomplete', uniquement html
    44        Validation JS pour les champs specifies obligatoires
    5         Si les champs ne sont pas activs dans le CFG, ils n'apparaissent pas...
     5        Si les champs ne sont pas actifs dans le CFG, ils n'apparaissent pas...
    66
    77]
     
    9898                        #SET{id,#PAYS}
    9999                        <select class="crayon-active text[(#GET{pays_obl}|oui) obligatoire]" name="#ENV{name_pays}" style="width:#ENV{largeur}px;" onchange="validation()">
    100                                 <INCLURE{fond=controleurs/pays}{id=#GET{id}}>
     100                                <INCLURE{fond=prive/listes/select_pays}{id=#GET{id}}>
    101101                        </select>
    102102                </li>]
  • _plugins_/_test_/inscription2/inscription2_2_0/controleurs/adressecompletepro.html

    r28426 r28472  
    9494                        #SET{id,#PAYS_PRO}
    9595                        <select class="crayon-active text[(#GET{pays_pro_obligatoire}|oui) obligatoire]" name="#ENV{name_pays_pro}" onchange="validation()">
    96                                 [(#INCLURE{fond=controleurs/pays}{id=#GET{id}})]
     96                                [(#INCLURE{fond=prive/listes/select_pays}{id=#GET{id}})]
    9797                        </select>
    9898                        </li>]
  • _plugins_/_test_/inscription2/inscription2_2_0/controleurs/pays.html

    r28426 r28472  
     1[(#REM)
     2
     3        Controleur pour le crayon 'pays', uniquement html
     4        Validation JS pour les champs specifies obligatoires
     5        Si les champs ne sont pas actifs dans le CFG, ils n'apparaissent pas...
     6
     7]
    18#CACHE{0}
    2 <option value=''><:inscription2:pays:></option>
    3 <BOUCLE_r(GEO_PAYS){tout}>
    4 <option value="#ID_PAYS"[(#ENV{id}|=={#ID_PAYS}|?{selected})]>[(#NOM|couper{30})]</option>
    5 </BOUCLE_r>
     9<BOUCLE_a(AUTEURS_ELARGIS){id_auteur=#ENV{id_auteurs_elargi}}{tout}>
     10
     11[(#CONFIG{inscription2/pays_obligatoire}|=={on}|oui)#SET{pays_obl,true}]
     12
     13[(#GET{pays_obl}|oui)
     14[<script type="text/javascript" src="(#URL_PAGE{crayons_validation.js}|parametre_url{lang,#ENV{lang}})"></script>]
     15
     16<script type="text/javascript">
     17        var me = cQuery(".auteurs_elargi-pays-#ID_AUTEUR");
     18        var id = me.crayon().find('form');
     19       
     20        function validation(){
     21                var validator = cQuery(id).validate({
     22                        errorElement:"p",
     23                        errorClass: "erreur",
     24                        onkeyup:function(){
     25                                validation();
     26                        },
     27                        showErrors: function(errors, errorList) {
     28                                validator.defaultShowErrors();
     29                                crayon_affiche_submit(me,id);
     30                        },
     31                        errorPlacement: function(error, element) {
     32                                error.appendTo(element.parent("li"));
     33                        },
     34                        success: function(label){
     35                                label.remove();
     36                                crayon_affiche_submit(me,id)
     37                        }
     38                });
     39                id.find('.obligatoire input').each(function(){
     40                        if(cQuery(this).val() == ""){
     41                                cQuery(this).addClass('error');
     42                                var id_label = cQuery(this).attr('name');
     43                                var erreur = '<p class="error" generated="true"><:inscription2:champ_obligatoire:></p>';
     44                                cQuery(this).parent("div").append(erreur);
     45                                cQuery(this).parent("div").find("p.error").show();
     46                                id.find('.crayon-submit').hide();
     47                        }
     48                });
     49                //On test le formulaire pour chercher les potentielles erreurs
     50                validator.form();
     51                crayon_affiche_submit(me,id);
     52        }
     53        //On ajoute l'asterisque qui signale qu'un champ est obligatoire
     54        id.find('.obligatoire label').not('.error').append('*');
     55        setTimeout('validation()',500);
     56
     57</script>]
     58<div class="formulaire_spip">
     59<fieldset[ style="(#ENV{style})"]>
     60        <ul>
     61                [(#CONFIG{inscription2/pays_fiche_mod}|oui)
     62                [(#GET{pays_obl}|?{<li class="obligatoire">,<li>})]
     63                        <label><:inscription2:pays:></label>
     64                        #SET{id,#PAYS}
     65                        <select class="crayon-active text[(#GET{pays_obl}|oui) obligatoire]" name="#ENV{name_pays}" style="width:#ENV{largeur}px;"[(#GET{pays_obl}|oui) onchange="validation()"]>
     66                                <INCLURE{fond=prive/listes/select_pays}{id=#GET{id}}>
     67                        </select>
     68                </li>]
     69        </ul>
     70</fieldset>
     71</div>
     72</BOUCLE_a>
     73<//B_a>
  • _plugins_/_test_/inscription2/inscription2_2_0/crayons_validation.js.html

    r28427 r28472  
    2020
    2121[(#URL_PAGE{i2_validation_methods.js}|parametre_url{lang,#ENV{lang}}|pack_cQuery)]
    22 [(#PIPELINE{i2_validation_methods,#ARRAY{type,cQuery,data,''}})]
     22[(#PIPELINE{i2_validation_methods,[(#ARRAY{args,[(#ENV*|unserialize)],data,''})]})]
  • _plugins_/_test_/inscription2/inscription2_2_0/javascript/i2_validation_controleurs.js

    r28425 r28472  
    55function crayon_affiche_submit(me,id){
    66        // Si aucune erreur
    7         if(id.find('label.error:visible').length == 0){
     7        if(id.find('p.erreur:visible').length == 0){
    88                // On (re)active les combinaisons de touches par defaut des crayons
    99                jQuery(id).find("textarea.crayon-active,input.crayon-active[type=text]").unbind('keypress').keypress(function(e){
Note: See TracChangeset for help on using the changeset viewer.