div里面的形式轨道

时间:2013-07-18 03:45:40

标签: html ruby-on-rails simple-form

我在我的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中工作

1 个答案:

答案 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>

一旦发生这种情况,您的表单就会被破坏,没有任何方法可以按照您期望的方式运行。

修复您的标记嵌套,以便以与打开标记相反的顺序关闭所有内容。并开始正确格式化您的代码,以便结构明显,计算机将无关紧要,但你会。