###前提・実現したいこと
submitボタンではなく、チェックボックスをクリックする時点で、フォームをsubmitしたいと考えてます。
しかし、submitされている気配がありません。(Rails 5のアプリです。controllerのupdateアクションが呼ばれません。)
エラーにすらなりません。
###該当のソースコード
coffeescript
1@toggleswitch = -> 2 console.log("before") #実行された 3 console.log($('.edit_fx'))#実行された 4 $('.edit_fx').submit -> 5 console.log("after")#実行されない
javascript
1#上のcoffeescriptがコンパイルされたもの 2(function() { 3 this.toggleswitch = function() { 4 console.log("before"); 5 console.log($('.edit_fx')); 6 return $('.edit_fx').submit(function() { 7 return console.log("after"); 8 }); 9 }; 10 11}).call(this);
#slim = form_for @fax do |f| - if @fax.errors.any? #error_explanation h2 = "#{pluralize(@fax.errors.count, "error")} prohibited this fax from being saved:" ul - @fax.errors.full_messages.each do |message| li = message div.field = f.check_box :marked, {onchange: "toggleswitch();"} = f.label :marked .actions = f.submit
html
1#上のslimがコンパイルされたもの 2<form class="edit_fx" id="edit_fx_1" action="/fxes/1" accept-charset="UTF-8" method="post"> 3<input name="utf8" value="✓" type="hidden"> 4<input name="_method" value="patch" type="hidden"> 5<input name="authenticity_token" value="(省略)" type="hidden"> 6<div class="field"> 7<input name="fx[marked]" value="0" type="hidden"> 8<input onchange="toggleswitch();" value="1" name="fx[marked]" id="fx_marked" type="checkbox"> 9<label for="fx_marked">Marked</label> 10</div> 11<div class="actions"> 12<input name="commit" value="Update Fx" data-disable-with="Update Fx" type="submit"> 13</div> 14</form>
###試したこと
チェックボックスがクリックされるたびに(onchangeまたはonclick)で関数toggleswitch()が発火されていることは確認できています。
また正しく、formをセレクトできているようです。
$('.edit_fx').submit -> console.log("after") ```の代わりに
$('.edit_fx').submit
console.log("after")
としてもsubmitされませんでした(コントローラーのupdateアクションが呼ばれない) submitボタンを押せば適切にデータが変更されていることは確認しています。 ```ruby def update respond_to do |format| binding.pry
上記のようにコントローラーにbinding.pryを仕掛けているのですが、呼ばれませんでした(停止しなかった)。
###補足情報(言語/FW/ツール等のバージョンなど)
ブラウザはmacOSのFirefoxとChromeでチェックしてます。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/21 05:25
2017/08/21 05:32