2006年9月14日

[PHP-users 30322] Re:Smarty+QuickFormにて確認画面での3桁区切りの方法について

こんばんは、大原と申します。

例えば特定のtextエレメントの確認表示で、
number_formatを使いたいなら
HTML_QuickForm_textを継承したMy_textというクラスを作って

require_once 'HTML/QuickForm/text.php';
class My_text extends HTML_QuickForm_text

{
function My_text( $name = null, $label = null, $attr = null ) {
HTML_QuickForm_input::HTML_QuickForm_input( $name, $label,
$attr );
$this->_persistantFreeze = true;
$this->setType( 'text' );
}
function getFrozenHtml() {
$value = $this->getValue();
return ('' != $value? number_format($value): ' ' ) .
$this->_getPersistantData();
}
}
という感じで、適当にmy_text.phpというファイルに保存して

$form = new HTML_QuickForm( 'hoge' );
$form->registerElementType( 'my_text', '/path/to/my_text.php',
'My_text' );
$form->addElement( 'my_text', 'foo', 'bar' );

とすればいけるんじゃないかと思います。
(実際に取りまわす値にカンマいれたいならapplyFilter()で
^^;)


> さて、今回調査していてapplyFilter()の動作に疑問をもった
> のですが、
(略)
>  実行すると、GET変数(URL表示部分)では
> 「?'MyTextBox=+++入力内容」となり
>  空白が「+」に変換されていますが、
>  HTMLソース上では空白が除去されていませんでした。
>  「 入力内容」のように空白がそのままHidden値に
> 設定されている。

exportValue()やら、getSubmitValue()の値は、確認されました
か?
実際に取りまわす値にフィルタがかかってればOKだと思うのです
が、、、

勘違いでしたらすみません。

_______________________________________________
PHP-users mailing list PHP-users@xxxxx
http://ns1.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://www.php.gr.jp/php/novice.php3

投稿者 xml-rpc : 2006年9月14日 23:48
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/45966
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。