アプリ版:「スタンプのみでお礼する」機能のリリースについて

HTML_QuickForm::createElementにて作成したラジオボタンのグループの1つにデフォルトでチェックを入れるにはどうしたら良いでしょうか。
addElementではなくcreateElementです。

具体的にはこのようなソースです。

for($i=0;$i<=$m;$i++) {
$tmp[$i] = array(
$form->createElement("text","t", ),
$form->createElement("radio","r",NULL,"r0",0),
$form->createElement("radio","r",NULL,"r1",1),
$form->createElement("radio","r",NULL,"r2",2)
);
$form->addGroup($tmp[$i],"gp".$i,"rgp".$i.":");
}

r0をチェックした期待するhtmlは下記の通りです。
<input type="radio" name="gp1[r]" value="0" checked>r0

宜しくお願い致します。

A 回答 (1件)

$form->createElement("text","t", ),


この行が、良く分からないですまた、
nameを統一しないと、全部チェック出来てしまうのでは?

一つだけチェックしたいなら、下記のような感じです。
複数チェックしたいのなら、チェックボックスの方が、よいのでは。

$tmp[] = $form->createElement("radio","gp",NULL,"r0","0");
$tmp[] = $form->createElement("radio","gp",NULL,"r1","1");
$tmp[] = $form->createElement("radio","gp",NULL,"r2","2");

$form->addGroup($tmp,"gp","rgp:");

$form->setDefaults( array("gp" => 0 ));

結果:
<input type="radio" name="gp" value="0" checked>r0>
    • good
    • 0
この回答へのお礼

ありがとうございました。

> $form->createElement("text","t", ),
> この行が、良く分からないですまた、
renderer_defaultのテンプレートでそのまま表示したいと考えています。
textもcheckboxと同じ行に表示をしたいと思いました。
説明が抜けており、失礼しました。

checkboxのvalueがダブルクウォテーションでくくった数値でないとどうやらうまくいかないみたいです。
また、上記のようにtextなどのredioと関係のない要素を加えると、setdefaultsで設定するとtextに期待しない0が設定されてしまいます。

ちなみに$tmp[$i]としていますが、$tmpでよいですね。これも失礼しました。

お礼日時:2006/09/24 10:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!