web-dev-qa-db-ja.com

フォームAPI:2つのテキストフィールドをdivに結合しますか?

フォームAPIを使用すると、2つのテキストフィールドを同じ行に結合できますか?

例えば。形

<?php
function foo_form($form, $form_state) {
  $form = array();

  $form['range'] = array(
    '#type' => 'fieldset',
 );

  $form['range']['min'] = array(
     '#type' => 'textfield',
     '#title' => 'Address'
  ),
  $form['range']['address2'] = array(
     '#type' => 'textfield',
     '#title' => 'Address'
  )
  // ...
  return $form;
}

望ましい出力

<div>
  <h2>Range</h2>
  <input name="min" /> to <input name="max" />
</div>
6
chrisjlee
<?php
function foo_form($form, $form_state) {
  $form = array();

  $form['range'] = array(
    '#type' => 'fieldset',
    '#prefix' => '<div class="myclass">',
 );

  $form['range']['min'] = array(
     '#type' => 'textfield',
     '#title' => 'Address'
  ),
  $form['range']['address2'] = array(
     '#type' => 'textfield',
     '#title' => 'Address'
     '#suffix' => '</div>',
  )
  // Remaining code
  return $form;
}
10
mohit_rocks

Cssを使用して2つのインラインを整列させるのが適切です。ラッパーのdiv IDを確認してから、このCSSを適用します

WRAPPER_ID {
  display :inline; // or try inline-block
}
1
Serjas

このDrupal水平フォーム要素に関するStackexchangeの回答 以前に回答した方が有益かもしれません。通常、ラッパーdivで同じことを行いますが、container-inlineについては知りませんでしたクラス。

0
tenken