Ruby On Railsでフォームを作っています。
オプション項目のチェックボックスにチェックが入っている場合は通常どおりフォームを送信できて、
入っていない場合はオプションを勧めるモーダルウィンドウを表示したいです。
以下の実装では、オプション項目にチェックが入っていない場合に問題なくモーダルウィンドウを表示させることはできますが、
チェックが入っている場合にもモーダルウィンドウが表示されてしまいます。
ruby
1# _form.html.erb 2 3<%= form_for(@request) do |f| %> 4 <label>オプション</label> 5 <%= f.check_box :option_flg, id: "request_option_flg", as: :boolean %> 6 <label class="option-service" for="request_option_flg">オプションを利用する</label> 7 <div class='submitbtn' id="show-modal-opt-link">依頼する</div> 8 <%= render 'optiondialog' %> 9<% end %>
javascript
1#common.js 2 3function() { 4 5 function showModal(event) { 6 event.preventDefault(); 7 8 var $modalWin = $('#modalwin'); 9 var $window = $(window); 10 var posX = ($window.width() - $modalWin.outerWidth()) / 2; 11 var posY = ($window.height() - $modalWin.outerHeight()) / 2; 12 13 $modalWin 14 .css({left: posX, top: posY}) 15 .addClass('show') 16 }); 17 } 18 19 function transmissionWithoutOption() { 20 $('#show-modal-opt-link').remove(); 21 $('#submit-request-btn').remove(); 22 return $('.request_actions3').append('<input type="submit" name="commiteee" value="依頼する" class="submitbtn" style="line-height: 22px;" id="submit-request-btn" data-disable-with="依頼中...">'); 23 } 24 25 if ($('#request_option_flg').prop('checked') == true) { 26 $('#show-modal-opt-link').on('click', transmissionWithoutOption); 27 } else { 28 $('#show-modal-opt-link').on('click', showModal); 29 } 30}
チェックが入っているか否かの分岐のところでなにか問題があると思うのですが、なにが問題なのかわかりません。
ご指摘いただけることがあれば、何卒よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー