JavaScriptの検証コードを使用して簡単なフォームを作成するように要求されました。私はフォーム全体を構築しましたが、すべての検証スクリプトが動作していますが、適切なフィールドの横にスパンタグの関連エラーを表示するように求められています(以前のようにアラートを表示するのではなく)。提出時にスパンが消える
以前に入力した適切なエラーテキストを含むテキスト入力やラジオボタンなどの各要素の横にスパンタグを付け、各スパンを非表示にするようにスタイルを設定するように指示されました。送信ボタンが押されると、スクリプトはテキストを表示するために適切なスパンのスタイルを可視に変更することになっています。私はこれのためのコードを書いたが、私が抱えている問題は私のスパンのエラーが見えるようになることですが、ほとんど瞬時に隠れた状態に戻って消えます。何か特別な理由がありますか?
ここにいくつかのコードがあります。
HTML:
< input type="checkbox" name="agree"/> < span id="agreeSpan>Error text< /span>
CSS:
span {
color:red;
font-size:small;
visibility:hidden;
}
とJavaScript:
function validateAgreement()
{
var agreeBox = document.registration.agree;
var agreeSpan = document.getElementById('agreeSpan');
if (!agreeBox.checked) {
agreeSpan.style.visibility = 'visible';
return false;
}
私は明らかに何かが足りないのですか? 1つの特定のスパンをスタイル設定しようとしている可能性はありますか?また、一般的なスパンタグのスタイル属性はこの特定のものを上書きしていますか?
これは新人の質問であれば大変ありがとうございます。私はあなたがそれをid="agreeSpan"
されている必要がありますが、あなたはそこにfalseを返し、起こって提出停止するにはid="agreeSpan
スパンが表示された後にフォームが送信されないことを確認しましたか? –
ああ、良い点。これをどうやって保証するのですか?私は印象に残っていました。 – user1310148
さて、この関数には 'return false'がありますが、これはうまくいきますが、' onclick'ハンドラはどのように見えますか? –