メールフォームのradioボタンを縦に並べたい(input type="radio">と<label>を他のタグでラップしたい)

Garyuten > メールフォームのradioボタンを縦に並べたい(input type="radio">と<label>を他のタグでラップしたい) @ 2018/4/22 21:21
■ BaserCMSのバージョン:4.1.0.1

baserCMS3系では、確か radioボタン、checkboxはlabelと合わせてspanタグなどでラップされた状態で出力されていたと記憶しています。
4系ではradioボタンだけらラップされておらず、CSS制御ができないじょうたいなので改善お願いします。


▼現在のHTML出力

<input type="radio" name="data[MailMessage][maker_type]" id="MailMessageMakerTypeAAA" value="AAA" class="">
<label for="MailMessageMakerTypeAAA">AAA</label>


▼希望のHTML出力

<div class="radio">
<input type="radio" name="data[MailMessage][maker_type]" id="MailMessageMakerTypeAAA" value="AAA" class="">
<label for="MailMessageMakerTypeAAA">AAA</label>
</div>


希望の理由

1. checkboxの場合は inputとlabelをラップするタグがあり、縦に並べるのは容易
<div class="checkbox"><input type="checkbox" name="data[MailMessage][category][]" value="メイカー(モノづくり)" id="MailMessageCategoryメイカーモノづくり">&nbsp;<label for="MailMessageCategoryメイカーモノづくり">メイカー(モノづくり)</label></div>


2. 現状だと横並びだけとなり、意図しない折返しとなる。またCSSで制御できない

seto > Re: メールフォームのradioボタンを縦に並べたい(input type="radio">と<label>を他のタグでラップしたい) @ 2018/4/23 10:19
こんにちは

こちら、チケットの作成を行いましたのでご確認ください。
http://project.e-catchup.jp/issues/21516
seto > Re: メールフォームのradioボタンを縦に並べたい(input type="radio">と<label>を他のタグでラップしたい) @ 2018/4/23 10:37
また、現在の仕様でラップする場合はこんな感じでしょうか。

<?php echo $this->BcForm->radio('xxx', [1 => 'a', 2 => 'b']) ?>

=>
<?php
foreach ([1 => 'a', 2 => 'b'] as $key => $var) {
	$hidden = ($key == 1) ? true: false;
	echo '<div class="radio">' . $this->BcForm->radio('xxx', [$key => $var], ['hiddenField' => $hidden]) . '</div>';
}
?>
ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
23 人のユーザが現在オンラインです。 (23 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 23