0

私が持っている2つの単純なフォームは次のようになります:

= simple_form_for(@class_room, :html=>{:id=>'class_room_form'}) do |class_room_form|

= simple_form_for(@lesson, :html => {:id=>'lesson_form'}) do |lesson_form|

今、idless_formのフォームを送信していますが、代わりにidclass_room_formのフォームが送信されています! どうすればいいですか?

ここでは、lesson_form フォームを送信する方法を示します。

:javascript
  $('#submit_lesson_button').bind('click', function() {
    $("#lesson_form").trigger('submit');
    });

他のフォームを送信する方法は次のとおりです(関係なく送信されるフォーム)

:javascript
  $('#submit_button').bind('click', function() {
    $('#sidenav a:first').tab('show');
    $('#class_room_form').trigger('submit');
    });

ご覧のとおり、各フォームには異なる ID があり、jQuery でこれらの異なる ID をターゲットにしているので、何が間違っているのでしょうか??

lesson_formフォームがフォーム内に含まれていることに注意してくださいclass_room_form

4

1 に答える 1

0

含まれているフォームが別のフォームであることは想定されていません。これを変更できれば、問題は確実に解決され、コードはよりクリーンになります。

できない場合はevent.preventDefault()、次のように関数に追加してみてください。

:javascript
  $('#submit_lesson_button').bind('click', function(event) {
    event.preventDefault();
    $("#lesson_form").trigger('submit');
  });

:javascript
  $('#submit_button').bind('click', function() {
    event.preventDefault();
    $('#sidenav a:first').tab('show');
    $('#class_room_form').trigger('submit');
  });

私は仮定#submit_lesson_buttonして#submit_buttonいる<input type="submit" ... >

于 2012-06-10T18:17:58.683 に答える