私はここの投稿、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-これがあなたの望みですか?