2009-10-07 7 views
0

J'ai une forme qui ne se soumettra pas:this.form est nulle dans mes rails forment

<% form_for :venue, :html => { :id => "create_venue_form" } do |f| %> 
    <%= render :partial => 'venues/venue_form_fields', :locals => { :f => f } %> 
    <%= submit_to_remote 'add_venue_button', 
          'Save Venue', 
          { 
           :url => add_venue_path(@user.id), 
           :before => "alert(this.form);", 
           :html => { 
           :id => "add_venue_button" 
           }, 
           :update => "venue_select" 
          } 
    %> 
<% end %> 

Le problème est que this.form est nul lorsque le prototype va sérialiser la forme. J'ai mis l'instruction d'alerte dans d'autres formes et this.form a surgi pour être un élément de forme HTML, donc je sais qu'il ne devrait pas évaluer à null.

Est-ce que quelqu'un sait pourquoi cela pourrait se produire?

Merci!

+2

quoi ressemble le code html rendu comme? – klochner

+0

hmmmm ... aucun tag de forme n'est en train d'être généré ... je ne sais pas pourquoi. peut-être parce qu'il est imbriqué dans une autre forme – Tony

Répondre

1

Vous ne pouvez pas créer de formulaires imbriqués en HTML. Vous pouvez mettre cette forme imbriquée dans un div et utiliser serializeElements pour sérialiser toutes les entrées dans ce div.

0

Si vous faites une mise à jour AJAX, ce qui est la façon dont il apparaît, vous devriez regarder remote_form_for

Peer

Questions connexes