我在我的rails应用程序上有这些标记,这些表单在i tr
时无效<div class="span5 mg myform">
<div class="span5 mg">
<ul class="clearfixremo formmenu">
<li class="lefty blocky boldy rightbrd"><i class="icon-pencil"></i> Post</li>
<li class="lefty blocky boldy myphotoupload "> <i class="icon-camera"></i> Photo</li>
</ul>
</div>
<div class="span5 mg">
<div class="row">
<div class="span4">
<%= simple_form_for(current_user.posts.new, :remote => true ,:html => { :multipart => true } ,:class=>"form-horizontal" ) do |f| %>
<div class="field">
<%= f.text_area :body ,:rows=>1%>
<%= f.select :privacy,["public","friends","only me"] %>
</div>
</div>
</div>
</div>
<div class="span5 mg">
<div id="pactions" class="actions">
<%= f.submit "#{t 'share'}",:id=>"share"%>
</div>
<% end %>
</div>
</div>
它在html标记上显示表单在选择菜单之前关闭,当我在选择菜单之前移动提交按钮并在字段div中工作
答案 0 :(得分:2)
修复ERB的格式和缩进,问题应该很明显:开始标记(包括<%= ... do %>
)必须与其结束标记(包括<% end %>
)匹配。你不能:
<div>
<form>
</div>
</form>
你需要:
<div>
<form>
</form>
</div>
您的<form>
会打开一个<div>
<%= simple_form_for(current_user.posts.new, :remote => true ,:html => { :multipart => true } ,:class=>"form-horizontal" ) do |f| %>
<div class="field">
然后尝试关闭其中的四个:
</div>
</div>
</div>
</div>
当浏览器看到无效的HTML时,它会尝试通过关闭背后的<form>
来修复它,它会假装你说:
</div>
</form>
</div>
</div>
一旦发生这种情况,您的表单就会被破坏,没有任何方法可以按照您期望的方式运行。
修复您的标记嵌套,以便以与打开标记相反的顺序关闭所有内容。并开始正确格式化您的代码,以便结构明显,计算机将无关紧要,但你会。