嘿,我正在尝试获取一种新的开机自检表格,以在引导程序模式下工作。我一切正常,但复选框输入未切换。它们将填充为帖子模型中默认设置的值,并且单击时无法更改。
<%= bootstrap_form_for( @post,
url: council_posts_path(@council, @post)) do |f| %>
<%= f.text_field :title,
placeholder: 'Post Title',
class: 'form-control',
required: 'true' %>
<%= f.text_area :content,
placeholder: 'Post Content',
class: 'form-control',
required: 'true' %>
<%= f.check_box :motion %>
<%= f.check_box :closed %>
<%= f.submit 'Post to Council', id:' modal-submit', class: 'btn sign-up-button' %>
<% end %>
将其渲染为标准模式
<div class="modal newModal"
tabindex="-1"
role="dialog"
aria-labelledby="myModalLabel">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content modal-posts">
<div class="new-modal-header">
<span class="posted-by"></span>
<button type="button"
class="close"
data-dismiss="modal"
aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<div class="new-loaded-data">
<%= render 'posts/new'%>
</div><!-- loaded-data -->
</div><!-- modal-body -->
</div>
</div>
</div>
然后我用javascript渲染模态。我还必须使用javascript提交表单。
$(document).on('turbolinks:load', function() {
$("body").on( "click", "#new_post", function(event) {
event.preventDefault();
$('.newModal').modal('show');
});
});
$(document).on('turbolinks:load', function() {
$('#modal-submit').click(function () {
$(this.form).submit();
$('#newModal').modal('hide');
});
});
除了:motion和:closed复选框输入之外,所有其他功能均正常工作。它们只是保持设置为默认值。当我将表单放在自己的页面上时,表单就可以使用,但是我认为将表单置于模式中会很好。距离它也同样起作用。
更新:我尝试将输入标签放入模式中。
<input type="checkbox">
如果该复选框放置在表单外部,则起作用,但如果在表单内部,它将中断。不知道这是否有助于找出问题所在。