HTML
 Computer >> コンピューター >  >> プログラミング >> HTML

HTMLのoninvalidイベント属性とは?使い方とサンプルコードを解説

oninvalidイベント属性とは

HTMLのoninvalidイベント属性は、フォーム送信時に入力フィールドの値が妥当性チェック(バリデーション)に失敗した場合に発火するイベント属性です。例えば、required属性が付いた入力欄が空のままフォームが送信されたときなどに、独自のJavaScript処理を実行できます。

構文

oninvalidイベント属性の基本的な構文は以下の通りです。

<tagname oninvalid=”script”></tagname>

サンプルコード

次に、HTMLのoninvalidイベント属性を使用した具体的な例を見てみましょう。

<!DOCTYPE html>
<html>
<head>
<style>
   body {
      color: #000;
      height: 100vh;
      background: linear-gradient(62deg, #FBAB7E 0%, #F7CE68 100%) no-repeat;
      text-align: center;
      padding: 20px;
   }
   textarea {
      border: 2px solid #fff;
      background: transparent;
      font-size: 1rem;
   }
   ::placeholder {
      color: #000;
      font-size: 1rem;
   }
   .btn {
      background: #db133a;
      border: none;
      height: 2rem;
      border-radius: 2px;
      width: 40%;
      display: block;
      color: #fff;
      outline: none;
      cursor: pointer;
      margin: 1rem auto;
   }
</style>
</head>
<body>
<h1>HTML oninvalid Event Attribute Demo</h1>
<form action="" method="">
<textarea placeholder="Enter your message here" oninvalid="invalidFn()" rows='8' cols="50" required></textarea>
<input type="submit" value="SUBMIT" class="btn">
</form>
<p>Click on SUBMIT button without writing any message</p>
<script>
   function invalidFn() {
      document.querySelector('textarea').style.background = '#db133a6e';
      document.querySelector('textarea').setAttribute('placeholder', 'Please enter a message');
   }
</script>
</body>
</html>

実行結果

HTMLのoninvalidイベント属性とは?使い方とサンプルコードを解説

テキストエリアに何も入力せずに「SUBMIT」ボタンをクリックしてみてください。oninvalidイベントが発火し、以下のように表示が変化します。

HTMLのoninvalidイベント属性とは?使い方とサンプルコードを解説

動作のポイント

このサンプルでは、required属性が設定されたテキストエリアが空の状態でフォームが送信されると、oninvalid属性に指定されたinvalidFn()関数が呼び出されます。関数内では、テキストエリアの背景色を変更し、プレースホルダーのテキストを「Please enter a message」に書き換えることで、ユーザーに入力を促す視覚的なフィードバックを提供しています。このようにoninvalidイベント属性を活用すれば、ブラウザ標準のバリデーションと連動したカスタムエラー表示を簡単に実装できます。

  1. HTML ondragendイベント属性の使い方を徹底解説

    ondragendイベント属性とはHTMLのondragendイベント属性は、HTMLドキュメント内でユーザーが要素やテキストのドラッグを終了した時点で発生するイベントです。ドラッグ&ドロップ操作の一連の流れの最後に実行されるため、ドラッグ完了後の処理(メッセージの表示や状態の更新など)を実装するのに便利です。なお、ondragendイベントはドラッグ元の要素に対して発生する点に注意してください。ドロップ先の要素で発生するのは「drop」イベントであり、役割が異なります。構文ondragendイベント属性の基本的な構文は以下のとおりです。<tagname ondragend=&q

  2. HTMLのonpageshowイベント属性とは?使い方をサンプルコード付きで解説

    HTMLのonpageshowイベント属性は、ユーザーがWebページへ移動(ナビゲート)したときに発生するイベントです。ページが最初に読み込まれたときはもちろん、ブラウザの「戻る」ボタンなどでキャッシュからページが再表示されたときにも発火する点が大きな特徴です。 構文 onpageshowイベント属性の基本構文は次のとおりです。 <body onpageshow="script"></body> HTML onpageshowイベント属性のサンプル ここでは、ページが表示されたタイミングでアラートを表示するシンプルな例を紹介します。 サンプルコード