我应该将我的Javascript代码放在ColdFusion模型粘合视图中?

时间:2011-09-02 22:20:42

标签: model-view-controller coldfusion coldfusion-9 model-glue

假设我有一个名为login.cfm的ColdFusion模型胶水视图。在其中,我有一个表格:

<form id="loginForm" action="#event.linkTo("user.login")#" method="POST">
    E-mail: <input id="emailField" type="text" name="email">
    Password: <input id="passwordField" type="text" name="password">
    <input type="submit" value="Login">
</form>

现在,我想在用户单击“登录”按钮时添加一些Javascript验证。在jQuery中有类似的东西:

<script type="text/javascript">
    $(function() {
        $('#loginForm').submit(function() {
            // check that emailField is not empty and is a valid e-mail
            // check that passwordField is not empty
            // if validation fails, add in DOM elements to show error messages
        });
    });
</script>

我应该在哪里添加此Javascript代码?我是否将其直接粘贴到login.cfm视图中?或者有更好的方法来处理这个问题吗?我希望将我的所有视图中的Javascript代码粘贴到正文的底部。

2 个答案:

答案 0 :(得分:0)

有很多不同的策略。最简单的方法是将特定于视图的脚本放在单个.js文件中,并在关闭<script src="path"></script>标记之前通过<body>标记将其包含在内。

您还可以查看诸如require.js之类的库,它们允许您异步加载脚本文件及其依赖项。

答案 1 :(得分:0)

您可以将其保留在视图文件中。

我不喜欢&lt; script&gt;虽然阻止了整个地方,所以我通常会使用&lt; cfsavecontent&gt;和&lt; cfhtmlhead&gt;确保所有这些JS块都在&lt; head&gt;

中结束

您可以在login.cfm文件中执行此操作。

<cfsavecontent variable="js">
<script type="text/javascript">
    $(function() {
        $('#loginForm').submit(function() {
            // check that emailField is not empty and is a valid e-mail
            // check that passwordField is not empty
            // if validation fails, add in DOM elements to show error messages
        });
    });
</script>
</cfsavecontent>
<cfhtmlhead text="#js#" />