アスレチックゲーム買いました。衝動買いです。子供の頃大好きでよくやってました。
パッケージに商品名とかが書いてなかったので”アスレチックゲーム”で検索したら何故かyoutubeで引っかかりました。ワタシがポスとしたものではありませんが、動きとかがわかるかと思いますのでコチラも紹介します。
したら、youtubeにまさしくワタシが子供の頃持っていたアスレチックゲームがポストされていました。買ってきた奴が急にしょぼくみえてきたよ(ノ∀`)
ExtJSのexamplesディレクトリに入ってるdynamic.htmlのフォームインターフェイスがかっこいいなぁと思って使いたかったんですが、このsaveボタン押下時にpostやgetでページ遷移するにはどうすればよいのかよくわからなかったので調べてみました。
フォームの使い方はこっちのが本筋のようです。20080323
たぶんドキュメントにちゃんと書いてあるんだと思いますが、パタパタとコーディングしながらfirebugを使ってあーでもないこーでもないをやってたらできました。
Ext.Actionインスタンスを作ってsaveボタンに割り当ててあげればよいらしく、ページ遷移はdocument.formname.submit()を使っています。もちろん本来のやり方ではないかもしれません。動けばいいやと思ってやってみました。
var action = new Ext.Action({
text: '送信',
handler: function(){
document.getElementById( "hiddentextarea" ).innerHTML = Ext.get( 'extform' ).getValue();
document.formname.action = "/hogehoge/mogemoge.php";
document.formname.method = "post";
document.formname.submit();
}
});
これだけだと何をしているのか判りにくいんですが、Ext.get( ‘extform’ ).getValue()というのは、リッチテキストフォームからユーザが書いた文字を取得しています。
それをスタイルで隠した(style=”display:none”)フォームのテキストエリアであるhiddentextareaに渡して/hogehoge/mogemoge.phpにpostで渡すというものです。
ExtJSで表現されるリッチテキストフォームはこんな感じ。xtypeがhtmleditorと言うところでどんなコンポーネントなのか決まるみたいですね。
var top = new Ext.FormPanel({
labelAlign: 'top',
frame:true,
title: 'タイトル',
bodyStyle:'padding:5px 5px 0',
items: [{
xtype:'htmleditor',
id:'extform',
fieldLabel:'',
anchor:'100%'
}],
buttons: [ new Ext.Button( action ) ]
});
で、buttonsに割り当てられるのが先ほど作ったactionというインスタンスです。ボタンが押下されると、フォームに入力された内容がポストされると言う仕組みです。formnameとhiddentextareaが解決されていませんので、以下に記述しておきます。
<div style="display:none"> <form name="formname" method="post"> <textarea id="hiddentextarea" name="hiddentextarea"></textarea> </form> </div>
スタイルで表示を抑制したフォームテキストエリアにスクリプトで入力値を与えてあげて、スクリプトでサブミットする感じです。
<script type="text/javascript">
var action = new Ext.Action({
text: '送信',
handler: function(){
document.getElementById( "hiddentextarea" ).innerText = Ext.get( 'extform' ).getValue();
document.formname.action = "/hogehoge/mogemoge.php";
document.formname.method = "post";
document.formname.submit();
}
});
var top = new Ext.FormPanel({
labelAlign: 'top',
frame:true,
title: 'タイトル',
bodyStyle:'padding:5px 5px 0',
items: [{
xtype:'htmleditor',
id:'extform',
fieldLabel:'',
anchor:'100%'
}],
buttons: [ new Ext.Button( action ) ]
});
top.render( document.body );
</script>
<body>
<div style="display:none">
<form name="extform" method="post">
<textarea id="hiddentextarea" name="hiddentextarea"></textarea>
</form>
</div>
</body>
最近ExtJSにはまっているので、他のコンポーネントについてもそのうちポストしたいと思います。
カウントダウンをトップページ下部に装備してみました。何のカウントダウンかといいますと、咲と五月女の長編を作ろうかと思いまして。ちょうど1年後のクリスマスにリリースできればいいなと思います。セットも造って、プロットもちゃんと作っていこうかと思います。
ストップモーションのエントリについては、製作過程や息抜きで作ったものや、調べたものなどをポストしていきます。
そんなわけでメリークリスマス。
あと、使いやすいブログパーツなのでカウントダウンのほうも紹介しておきます。ほいでわ。
via : Flash Countdown Timer Generator