假设我有一个名为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代码粘贴到正文的底部。
答案 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#" />