0

假设我有一个名为login.cfm. 在其中,我有一个表格:

<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 代码粘贴到正文的底部。

4

2 回答 2

0

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

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

于 2011-09-02T22:25:01.063 回答
0

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

我不太喜欢到处都有 <script> 块,所以我通常会使用 <cfsavecontent> 和 <cfhtmlhead> 来确保所有这些 JS 块都在 <head> 中结束

您可以在 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#" />
于 2011-09-03T01:15:38.753 回答