IPアドレス以外が入力されたらメッセージを表示する(Adobe Spry)

説明

リアルタイムに入力された内容がIPアドレスかどうかを調べるにはAdobe Spryフレームワークを利用すると簡単です。テキストフィールドのチェックを行うSpryValidationTextField.jsファイルと関連するスタイルシートファイル (SpryValidationTextField.css) を読み込みます。チェックしたいテキストフィールドを<span>タグで囲みID名を指定しておきます。さらに入力時に表示するメッセージを<span>タグで囲みスタイルシートのクラス名をtextfieldRequiredMsgにします。入力内容が不正だった場合のメッセージも同様に<span>タグを使いスタイルシートクラス名をtextfieldInvalidFormatMsgにします。
HTML文書の設定が終わったらスクリプトでチェックする対象となるテキストフィールドをSpry.Widget.ValidationTextField()で指定します。パラメータにはチェックする領域を示すID名、チェックする種類、いつチェックするかなどのオプションを指定します。IPアドレスかどうかをチェックする場合には2番目のパラメータにipの文字を指定します。これでリアルタイムにIPアドレスかどうかの入力チェックが行われます。
JavaScriptテクニック ブック  詳しい解説などはJavaScriptテクニック ブックを参照してください。

サンプルコード [実行]

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>JavaScript Sample</title>
<link rel="stylesheet" href="SpryValidationTextField.css" type="text/css" media="all">
<link rel="stylesheet" type="text/css" href="main.css" media="all">
<script src="SpryValidationTextField.js" type="text/javascript"></script>
<script type="text/javascript" src="main.js"></script>
</head>
<body>
<h1>IPアドレス以外が入力されたらメッセージを表示する</h1>
<form action="./check.cgi" method="get" id="mainForm" name="mainForm">
<span id="checkData1">
<input type="text" name="text1" id="text1">
<span class="textfieldRequiredMsg">IPアドレスを入れてください</span>
<span class="textfieldInvalidFormatMsg">IPアドレス以外は受け付けません</span>
</span>
<input type="submit" value="送信">
</form>
</body>
</html>

window.onload = function() {
new Spry.Widget.ValidationTextField("checkData1", "ip", {validateOn:["blur","change"]});
}