2011-02-25 1 views
1

레일즈 3 애플리케이션에서 눈에 잘 띄지 않는 JavaScript에 대한 모범 사례를 따르려고합니다. 내 사이트에서 HTML 콘텐츠와 자바 스크립트를 대부분 분리했습니다. 그러나, 나는 스크립트를 클릭 할 때 HTML 폼 요소를 추가하는 폼을 가지고있다. 이 상황에서 가장 좋은 방법은 무엇입니까?눈에 잘 띄지 않는 자바 스크립트에서는 콘텐츠와 스크립트를 분리하면 콘텐츠를 추가하는 스크립트는 무엇을합니까?

양식이기 때문에 숨겨진 양식 요소가 계속 제출되기 때문에 스크립트를 사용하여 요소를 미리 렌더링하고 숨길 수는 없습니다.

답변

3

노드를 만들어 프로그래밍 방식으로 새 콘텐츠를 만들거나 템플릿 시스템을 사용하여 미리 코딩 된 HTML 템플릿에 데이터를 매핑 할 수 있습니다.

양식의 일부를 숨기면 양식이 제출되지 않도록 모든 입력을 찾아 비활성화 할 수 있습니다 ("disabled"속성을 true으로 설정).

"눈에 거슬리지 않게"하려면 템플릿 시스템을 사용하는 경우 템플릿을 어떻게 든 정리해야합니다. 어떤 사람들은 그것을 해석하는 시도에서 브라우저를 유지하는 유형의 <script> 태그로 몰래하여 원시 해석의 텍스트로 때로는 페이지로 코딩과 같은 :

<script type='text/template' id='templateName'> 
    <div class='part-of-a-template'> 
    <!-- etc etc --> 
    </div> 
</script> 

을 양자 택일로, 당신은 포함 된 템플릿을 제공 할 수 템플릿에 대한 동적 요청에 응답하는 서버 측 기능을 통해 JavaScript 또는 JSON 데이터로 변환 할 수 있습니다. 당신이하는 일은 당신이 필요로하는 것에 달려 있습니다.