2010-11-09 5 views
1

Aujourd'hui, j'ai installé le plugin client_side_validation, tout fonctionne bien jusqu'à ce que je rencontre un problème, la validation de formulaire ne peut pas être effectuée dans une fenêtre modale (facebox). Chaque fois que je clique sur le bouton Soumettre, il ferme la fenêtre modale et met à jour les éléments indépendamment de ce qui a été tapé. Voici mon code.Comment utiliser plugin client_side_validation avec facebox

Ma forme

<%= form_for (@task, :remote=>true, :validations => true) do |f| %> 
    <div class="field"> 
    <%= f.label "Remind me every"%> 
    <%= f.text_field :frequency %> 
    <%= f.label "days before" %> 
     </div> 
    <div class="field"> 
<br/> 
<%= f.date_select :deadline, :start_year=>Time.now.year,:include_blank => true%> 
<%= f.submit "Submit" %> 
</div> 
<% end %> 

Ma fonction de mise à jour dans le contrôleur

def update 
    @task=Task.find(params[:id]); 
    @task.update_attributes(params[:task]) 
    @task.reminded=true 
    respond_to do |format| 
    if @task.save 
    format.html 
    format.js{ 
    render :update do |page| 
     page << "jQuery.facebox.close();" 
     yield(page) if block_given? 
    end 
    } 
    else 
    format.html 
    format.js 
    end 
end 
end 

Quelqu'un peut-il me aider? Merci!

+0

Avez-vous déjà trouvé cela? – David

+0

bien c'est un vieux vieux poste ... et je pense que je n'ai pas touché à ce projet depuis un moment maintenant, mais de toute façon je crois finalement que j'ai décidé de ne pas utiliser facebox pour éviter le problème. – JayX

Répondre

0

Vous devez ajouter le javascript dans la page que vous souhaitez afficher.

Pour tester, exigez tous les javascripts de votre mise en page et si cela convient.

Fonctionne pour moi.