ナビゲーションボタンの有効/無効を制御する

説明

ナビゲーションボタンの有効/無効を制御するにはナビゲーションボタンがクリックされた時に処理を行う関数で「●.bottomToolbar.items.get(〜).enaled()」、「●.bottomToolbar.items.get(〜).disable()」を使って有効/無効を切り替えます。enaled()はボタンを有効にし、diable()はボタンを無効にします。ナビゲーションのボタンはExt.Panel()で生成する際にidを使ってID名を指定しておきます。このID名を●.bottomToolbar.items.get(〜)のget()のパラメータに指定することで手軽にアクセスすることができるようになります。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>Sample</title>
<link rel="stylesheet" href="resource/css/ext-all.css" type="text/css" media="all">
<link rel="stylesheet" href="resource/css/main.css" type="text/css" media="all">
<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.EventManager.on(window, "load", function(){
var navHandler = function(direction){
card.count = (card.count + direction).constrain(0, card.items.length-1);
card.layout.setActiveItem(card.count);
card.bottomToolbar.items.get('prev').enable();
card.bottomToolbar.items.get('next').enable();
if (card.count == 0) {
card.bottomToolbar.items.get('prev').disable();
}
if (card.count == card.items.length-1) {
card.bottomToolbar.items.get('next').disable();
}
}
var card = new Ext.Panel({
count : 0,
width : '420px',
renderTo: 'aPanel',
title: 'ウイザード',
layout:'card',
activeItem: 0,
defaults: { border:false },
bbar: [{
id : 'prev',
text: '前へ',
handler: navHandler.createDelegate(this, [-1]),
disabled: true
},
'->',
{
id : 'next',
text: '次へ',
handler: navHandler.createDelegate(this, [1])
}],
items: [{
html: 'ステップ 1/3<br>はじまり'
},{
html: 'ステップ 2/3<br>とちゅう'
},{
html: 'ステップ 3/3<br>おわり'
}]
});
});
// --></script>
</head>
<body>
<h1>カード型レイアウト</h1>
<div id="aPanel"></div>
</body>
</html>
サンプルを実行
[戻る]