2012-11-08 2 views
1

이것은 놀랍습니다. 제출 태그가 양식 내에서 발생해야하는 것처럼 보일지라도 양식 앞에 표시됩니다. html 소스는 나에게 잘 보이지만 결과 디스플레이와 DOM은 잘못된 것입니다. 무엇이 그것을 뒤섞 었는지 확실하지 않습니다. 양식 앞에 제출 단추가 표시됩니다.<form> 앞에 "제출"버튼이 표시되는 이유는 무엇입니까?

표시 되나요?

보기 파일을 html로의

<%= content_tag :table do %> 
    <%= content_tag :thead do %> 
    <% 5.times do |q| %> 
     <%= content_tag :th, "1" %> 
    <% end %> 
    <% end %> 
    <%= content_tag :tbody do %> 
    <%= form_tag program_participant_round_survey_path(
     program_id: @program.id, participant_id: @participant.id, round_id: @current_round.id), :method => 'put' do %> 
     <%= render partial: 'value', collection: @values %> 
     <%= submit_tag "Save" %> 
    <% end %> 
    <% end %> 
<% end %> 

중요한 부분 : image in browser

를 그리고 여기가 DOM과 같은 모습입니다 : 여기

... 
<tr> 
    <td> 
    Scaling Up vs. Scaling Out 
</td> 
    <td> 
     <input id="values__q0" name="values[]" type="radio" value="q0" /> 
</td> <td> 
     <input id="values__q1" name="values[]" type="radio" value="q1" /> 
</td> <td> 
     <input id="values__q2" name="values[]" type="radio" value="q2" /> 
</td> <td> 
     <input id="values__q3" name="values[]" type="radio" value="q3" /> 
</td></tr> 
     <input name="commit" type="submit" value="Save" /> 
</form></tbody></table> 
    </div> 
</div> 
</body> 
</html> 

페이지가 브라우저에서의 모습입니다 : enter image description here

답변

3

은 - 그들이 캡션있어 가정 테이블 전에 이동 .

테이블 내에 <input type="submit">이 있지만 생성 된 코드에 <tr>이 없습니다.

<input><tr><td>에 넣으면 더 이상 테이블 앞으로 이동하지 않습니다. 레이아웃을 위해 테이블을 사용하는 것은 권장되지 않습니다.

1

정확하게 알지 못합니다. 무슨 일이 일어나고 있는지에 대한 이유,하지만 대신에 다음과 같이 그것을 개인적 것 :

브라우저가 속하지 않는 테이블 내부 요소를 처리하는 방법
<%= form_tag program_participant_round_survey_path(
     program_id: @program.id, participant_id: @participant.id, round_id: @current_round.id), :method => 'put' do %> 
    <%= content_tag :table do %> 
    <%= content_tag :thead do %> 
     <% 5.times do |q| %> 
     <%= content_tag :th, "1" %> 
     <% end %> 
    <% end %> 
    <%= content_tag :tbody do %>   
     <%= render partial: 'value', collection: @values %> 
    <% end %> 
    <% end %> 
    <%= submit_tag "Save" %> 
<% end %> 
+0

또한이 질문은 맛과 관련이 없으며 '<%% content_tag : table do %>'대신 '

'을 사용합니다. 귀하의 마크 업을 읽기가 더 쉬울 것이며 귀하가 지금 가지고있는 종류의 문제에 덜 민감하게 될 것이라고 확신합니다. –

+0

흥미로운 점 @jason - 나는 content_tag를 사용하여 나에게 몇 가지 레일 마법을 제공한다고 생각했지만, 직선 태그는 읽기가 더 쉽다. – pitosalas

관련 문제