2011-11-10 7 views
0

は、このような別のremoteフォーム内のremote形式です:リモートフォームが入れ子になったフォームを無効に私が持っているもの

<%=form_for @myobj,:as=>:myobj,:url=>{:controller=>"my_controller",:action=>"first_action"},:remote=>true do |f|%> 
    <%=form_for @myotherobj,:as=>:myotherobj,:url=>{:controller=>"my_controller",:action=>"second_action"},:remote=>true do |ff|%> 
     <%=ff.submit "second"%> 
    <%end%> 
    <%=f.submit "first"%> 
<%end%> 

しかし、私は、第二のそれは、リモートをしない提出をクリックしてください私の行動がJS(Ajaxコール)にしか応答しないので、通常のコールでエラーMissing Templateにつながります。

+1

私はこれが質問に答えるのではなく、[W3C](http://www.w3.org)によれば、[フォームタグ](http://dev.w3。 org/html5/markup/form.html#form-constraints)。これはフォーム自体の全体的な問題かもしれません。 –

答えて

3

ネストされたフォームは無効なHTMLです。

ブラウザの動作は、このような場合の対処方法が未定義です。それはちょうどhtml文書の中で複数回IDを使用しようとするようなものです。これは、通常、document.getElementByIdによって選択されるIDの最も早い出現であり、ここでは、最も外側の(最古の)フォームが出ているフォームを見つけることになります。

少なくとも1つのフォームがjavascriptで送信されている場合は、別の場所でフォームを作成して値をコピーするか、送信する前にフォーム要素を移動する方がよいでしょう。

関連する問題