2007年9月2日日曜日

Extで日付入力

日付の入力フィールドを使ってみた。既存のテキストフィールドにid属性で結び付けるだけで簡単に使えるのが嬉しい。テキストフィールドの横にカレンダーボタンが付いて、日付を選択できるようになる。あとバリデートしてくれる。今日の日付を初期値にするためにDateも少しだけ使った。日付のフォーマットがすごく簡単。


<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=utf-8">
<title>Sample - Date</title>
<link rel="stylesheet" type="text/css" href="css/ext-all.css" />
<script type="text/javascript" src="js/ext-base.js"></script>
<script type="text/javascript" src="js/ext-all.js"></script>
<script type="text/javascript"><!--
Ext.onReady(function(){
var df = new Ext.form.DateField({
// 2007/09/01の形式を指定する
format:'Y/m/d',
// 今日の日付を初期値に設定する
value: new Date().format('Y/m/d'),
// 入力を必須にする
allowBlank:false
});
// 対象のテキストフィールドのidを設定する
df.applyTo('dateId');
});
//--></script>
</head>
<body>
<form action="">
<input type="text" size="20" name="date" id="dateId" />
</form>
</body>
</html>

サンプルをいくつか見たけど、スタイルに統一感があって素敵。

追記:使いまわしはできないみたいで、もうひとつテキストフィールド作ってdf.applyTo('dateId2');みたいなコードを追加すると変な動作をする。

0 件のコメント: