私は div 要素を持っています。それをクリックすると、非表示のフォームが送信されます。
分割コード
<div class="a15 training-exercise">
some text
<form accept-charset="UTF-8" action="/trainings/1/training_exercises/5" data-remote="true" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓"><input name="_method" type="hidden" value="put"></div>
<input id="training_exercise_done" name="training_exercise[done]" type="text" value="false">
<input name="commit" type="submit" value="subit">
</form>
</div>
コフェスクリプト
$ ->
$('.training-exercise').click ->
if $(this).hasClass('done')
$(this).removeClass('done')
$(this).find('input:text').val(false)
$(this).closest("form").submit()
else
$(this).addClass('done')
$(this).find('input:text').val(true)
$(this).closest('form').submit()
対応するJSコード
$(function() {
return $('.training-exercise').click(function() {
if ($(this).hasClass('done')) {
$(this).removeClass('done');
$(this).find('input:text').val(false);
return $(this).closest("form").submit;
} else {
$(this).addClass('done');
$(this).find('input:text').val(true);
return $(this).closest('form').submit;
}
});
});
f.checkbox
奇妙な結果が得られたので、true と false のチェックボックスを入れませんでした
ここでの問題は次のとおりです。
1) フォームの送信以外はすべて行われています
2) フォームがvisibility: hidden;
あり、非表示になっているが、フォームがある場所に空きスペースがあり、そこに何もないように見えるようにしたい