simpleImageCheck プラグインを使用していますが、何らかの理由でフォームが 2 回送信されます。
以下は私のjavascriptです:
<script type="text/javascript" language="javascript">
$(function() {
$('#pin_candle').simpleImageCheck({
image: '/images/candle.png',
imageChecked: '/images/one.png'
})
$('#pin_rose').simpleImageCheck({
image: '/images/rose.png',
imageChecked: '/images/one.png'
})
});
</script>
これが私のレールフォームです:
<%= form_for([@posts, @pin], :remote => true, :html => { :id => 'pinform' }) do |f| %>
<%= f.check_box :candle, :onChange => "this.form.submit_button.click();" %>
<%= f.check_box :rose, :onChange => "this.form.submit_button.click();" %>
<%= f.submit :id => 'submit_button', :style => 'display: none;' %>
<% end %>
this.form.submit_button.click(); を使用する必要があります。標準の this.form.submit(); を使用するだけだからです。js ではなく html で送信されるため、Rails では ajax 呼び出しを実行できません。
もう1つの問題は、送信後にフォームを無効にすると、他のチェックボックスがあり、他のチェックボックスが機能しないことです。
何か案は?
二重送信を止める方法はありますか?
ありがとうございました。