В ненавязчивом JavaScript, когда вы разделяете контент и скрипты, что вы делаете для скрипта, который добавляет контент? - PullRequest
1 голос
/ 25 февраля 2011

Я пытаюсь следовать рекомендациям по ненавязчивому JavaScript в моем приложении на Rails 3.Я разделил содержимое HTML и JavaScripts на моем сайте по большей части.Тем не менее, у меня есть форма, где по щелчку скрипта он используется для добавления дополнительных элементов формы HTML.Что лучше всего делать в этой ситуации?

Поскольку это форма, я не могу просто выполнить предварительный рендеринг и скрыть элемент с помощью скрипта, который заставляет его показывать, потому что скрытые элементы формы все еще отправляются.

1 Ответ

3 голосов
/ 25 февраля 2011

Вы можете создавать новый контент программно (путем создания узлов и т. Д.) Или использовать систему шаблонов для отображения данных в предварительно закодированные HTML-шаблоны.

Когда вы скрываете части формы, вы можетенайдите все входы и отключите их (установите атрибут «disabled» на true), чтобы предотвратить их отправку.

Чтобы быть «ненавязчивым», если вы используете систему шаблонов, вам нужно иметьшаблоны организованы как-то.Некоторым людям нравится кодировать их на странице, иногда в виде необработанного неинтерпретированного текста, вставляя их в тег <script> с типом, который не позволяет браузеру интерпретировать его:

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

В качестве альтернативы, вы можете использоватьсоздание шаблонов, встроенных в данные JavaScript или JSON, возможно серверными средствами, которые отвечают на динамические запросы на шаблоны.Как вы это сделаете, зависит от ваших потребностей.

...