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

  [Opened] [Resolu]Une checkbox qui ne veut pas restee cochee

Posted by bentaye on 09/12/2009 13:51

Bonjour,

J'ai un probleme bizarre que je n'arrive pas a resoudre, ca a pourtant l'air tout con.

J'ai un fichier tpl comme ceci : version courte, une droplist et un checkbox. sur le onChange de la droplist on submit le form via un javascript

 <script type="text/javascript">
   {literal}
     function sendAction(action){ 
       document.createModifyForm.selectedAction.value=action; 
       document.createModifyForm.submit();
     } 
   {/literal}
 </script>
 
 <form action="{formurl 'announce~createModifyAnnounce:dispatchAction'}" method="POST" name="createModifyForm">
 {formurlparam 'announce~createModifyAnnounce:dispatchAction'}    		
   <input type="hidden" name="selectedAction" value="">
 
   <div>
     <select id='directionId' name='directionId' onChange="javascript:sendAction('changeDirection')"> 
       {$DIRECTION_OPTIONS}  
     </select>
   </div>
 
 
 [..]
 
   <div>
     <input type="checkbox" name="babysitting" {if($createAnnounceViewState->babysitting==='1')}CHECKED{/if}  />
     Babysitting
    </div>   
    <div>
     {$createAnnounceViewState->babysitting} 
    </div>   
    <div>
     {if($createAnnounceViewState->babysitting ==='1')}CHECKED{/if}
   </div>
 
 [..]
  
 </form>

en face j'ai un controller qui sauve la valeur de la checkbox dans un objet en session et fait .. ben ce qu'il a a faire :) Puis il redirect vers la page avec mon template.

L'objet de sauvegarde en session est passe a mon template avec la valeur de la checkbox (ici $createAnnounceViewState)

Mon probleme est que lorsque la checkbox est cochee et que je change la valeur de la droplist, la page se raffiche avec une checkbox non cochee.

Mais j'affiche aussi

 {$createAnnounceViewState->babysitting} 

et sa valeur vaut '1'

 

Alors que j'affiche aussi

 {if($createAnnounceViewState->babysitting ==='1')}CHECKED{/if}

et CHECKED ne s'affiche pas

A l'affichage initial de la page, quand la valeur pour la checkbox vaut 1, j'ai bien une case cochee, '1' affiche et 'CHECKED' affiche ..mais pas au retour apres modif de la drop list.

En fait en ecrivant j'ai refais un petit test avec un autre champs input normal. Je lui donne une valeur et je change dans la drop list, le input se reaffiche avec la valeur que j'ai donne, ca marche tres bien.

j'ai juste le pb avec la checkbox ...

Si qq'un a une idee .. merci d'avance

  [Opened] Re: Une checkbox qui ne veut pas restee cochee

Reply #1 Posted by bentaye on 09/12/2009 14:14

Ok, c'est bon, j'ai change le test par

 {if($createAnnounceViewState->babysitting===true)}CHECKED{/if}

et ca marche

  [Opened] Re: [Resolu]Une checkbox qui ne veut pas restee cochee

Reply #2 Posted by bballizlife on 09/12/2009 22:15

Pourquoi ne pas utiliser jForms, ce qui t'éviterait de devoir gérer toi-même ce genre de problématique ?


N'importe comment c'est dans la doc

 
Page
  1. Re: Une checkbox qui ne veut pas restee cochee