0

という ColdFusion Model Glue ビューがあるとし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 に答える