在不引人注目的JavaScript中,一旦你分离了内容和脚本,你会对添加内容的脚本做些什么?

时间:2011-02-25 19:11:31

标签: javascript unobtrusive-javascript

我正在尝试在Rails 3应用程序中遵循不引人注目的JavaScript的最佳实践。在大多数情况下,我已经在我的网站上分离了HTML内容和JavaScripts。但是,我有一个表单,在单击脚本时,它用于添加其他HTML表单元素。这种情况的最佳做法是什么?

由于它是一个表单,我不能只使用脚本预渲染和隐藏元素,导致它显示,因为仍然提交了隐藏的表单元素。

1 个答案:

答案 0 :(得分:3)

您可以通过编程方式创建新内容(通过创建节点等),也可以使用模板系统将数据映射到预编码的HTML模板中。

当您隐藏表单的某些部分时,您可以找到所有输入并禁用它们(将“已禁用”属性设置为true)以防止它们被提交。

要“不引人注目”,如果你使用模板系统,你需要以某种方式组织模板。有些人喜欢将它们编码到页面中,有时将其作为原始未解释的文本,将它们隐藏在<script>标记中,其类型使浏览器不会尝试解释它:

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

或者,您可以通过响应动态模板请求的服务器端工具来提供嵌入到JavaScript或JSON数据中的模板。你如何做到这取决于你的需求。