私はここの投稿、Bootstrapサイト、そして狂ったようにグーグルを読んだ-しかし、簡単な答えであると確信しているものが見つからない...
このようなlink_toヘルパーから開くBootstrapモーダルがあります。
<%= link_to "New Contact", new_contact_path, {remote: true, 'data-toggle' => 'modal', 'data-target' => "#myModal", class: "btn btn-primary"} %>
私のContactsController.create
アクションでは、作成してContact
に渡すコードがありますcreate.js.erb
。ではcreate.js.erb
、いくつかのエラー処理コード(rubyとjavascriptの混合)があります。すべてがうまくいけば、モーダルを閉じたい。
ここで問題が発生します。すべてがうまくいくと、モーダルを却下できないようです。
私が試しましたが$('#myModal').modal('hide');
、これは効果がありません。私も試してみまし$('#myModal').hide();
たが、モーダルは却下されますが、背景は残ります。
モーダルを閉じる方法、および/または内部から背景を閉じる方法に関するガイダンスはありますcreate.js.erb
か?
編集する
myModalのマークアップは次のとおりです。
<div class="modal hide" id="myModal" >
<div class="modal-header">
<a class="close" data-dismiss="modal">×</a>
<h3>Add Contact</h3>
<div id="errors_notification">
</div>
</div>
<div class="modal-body">
<%= form_for :contact, url: contacts_path, remote: true do |f| %>
<%= f.text_field :first_name, placeholder: "first name" %>
<%= f.text_field :last_name, placeholder: "last name" %>
<br>
<%= f.submit "Save", name: 'save', class: "btn btn-primary" %>
<a class="close btn" data-dismiss="modal">Cancel</a>
<% end %>
</div>
<div class="modal-footer">
</div>
</div>
myModal
ます。私は再試行しましたが$('myModal').modal('hide')
、それでもダメです。HM。私が達成しようとしていることに関しては、link_toヘルパーを使用することが正しくなかった可能性があります。これを次のものに置き換えました:<a data-toggle="modal" href="#myModal" class="btn btn-primary">Add Contact</a>
への呼び出しは本当に必要ないからnew_contact_path
です。モーダルを開いてユーザー入力を処理するだけです。お返事をいただきありがとうございます。これを整理できないかどうかを確認します。
$('#myModal').modal('hide');
あるはずです(#
コメントに欠落があります)。
$('#myModal').modal('hide')
です。J
$('#myModal').modal('hide');
idでモーダルを閉じる/非表示にする正しい構文myModal
です(これは、Bootstrapのドキュメントページでテストできます)。このIDの要素がページに含まれていますか?また、この電話で何を達成しようとしていますか?現在の実装はへのAjaxリクエストを実行new_contact_path
し、同時にの内容でモーダルを開きます#myModal
-これがあなたの望みですか?