-1

そのため、学校のプロジェクトでは、フォーム、多数のフィールド、HTML での送信を含むページを作成する必要がありました。書式設定は、外部 CSS ファイルで行われました。最後に、フォームの検証を外部の JavaScript ファイルにコーディングする必要がありました。最終的に、ページは 3 つのファイルで構成されていました。

検証の要件の 1 つは、要件を満たしていないテキスト フィールドに赤い境界線を表示することでした。CSSファイルにクラスを追加することにより、元のhtmlファイルのスクリプトタグ間のすべてのjavascriptをまだ使用していたときに、最初にこれを達成しました。

.error {
    border:2px solid red;
} 

そして、それをjavascriptに関係する要素に追加します:

document.getElementById("naam").className = document.getElementById("naam").className + " error";

次のコードを使用して、フィールドが要件を満たしたときに変更を元に戻しました (たとえば、if タグの外側)。

document.getElementById("naam").className =     document.getElementById("naam").className.replace("     error", "");

ただし、最後の要件を満たすために、すべての JavaScript を別のファイル java.js に移動し、html でリンクしました。

<script src="java.js"></script>

css の変更以外はすべて機能しますが、その方法や理由がわかりません。


おっと、それは機能しています。ページにぴったり合っていないため、表示されませんでした (赤い境界線を受け取る要素はすべてページの上部にありますが、ボタンはページの一番下にあります)。ただし、以前は、テキストフィールドが要件を満たすまで赤い境界線が表示されていました。今、私が設定したすべてのアラートの後、それらが赤くなる前に、ページがリセットされます。したがって、本当の問題は、ページがリセットされ、すべてのテキストフィールドが空になり、css がリセットされることだと思います。

4

2 に答える 2

0

html ファイルが外部の JavaScript ファイルをロードできることを確認する必要があります。外部の JavaScript ファイルを html ファイルと同じフォルダーに配置しましたか? そうでない場合は、src 属性に正しい相対パスを入力する必要があります。

ところで:外部のJavaファイルについて話しているのですが、実際に作成しているのは外部のJavaScriptファイルです。それらは同じではありません!Web アプリケーションのコンテキストでは、Java はサーバー側のテクノロジであり、JavaScript はクライアント側で機能します。

于 2013-11-06T14:20:27.403 に答える