• ベストアンサー

pear HTML_Quickformのボタンの位置を変更したい

[入力欄][送信ボタン] という風に、一列に表示したいのですが display()でフォームを出力するとボタンが改行されてしまいます。 解決方法を知ってたら教えてください。

  • PHP
  • 回答数2
  • ありがとう数7

質問者が選んだベストアンサー

  • ベストアンサー
noname#243182
noname#243182
回答No.2

レンダラを特に指定しない場合、デフォルトのレンダラが使われます。 マニュアルを読み進めていくと、フォーム要素のテンプレートにはテーブル要素が設定してあり、インプット要素のテンプレートにはテーブルデータ要素が設定してあることが分かります。 このテンプレートは利用者側で操作することが出来ますので、例えばフォーム要素、インプット要素のテンプレートにディビジョン要素を設定し、それぞれにIDを設定します。このIDを元に、スタイルシートで回り込みを使ってレイアウトを調整してみてはいかがでしょうか。 デフォルトのレンダラを使う必要がない場合はこの限りではなく、より詳細なテンプレート操作が可能となります。マニュアルに記載されているレンダラのリストから、馴染みのあるものを選択されるとよいでしょう。

参考URL:
http://pear.php.net/manual/ja/package.html.html-quickform.output.basic-renderers.php
kojirinpa2
質問者

お礼

参考URLとアドバイスのおかげで問題を解決することができました。 ありがとうございます。 setElementTemplateの使い方はちょっと迷いましたがサンプルをググって利用させてもらいました。 require_once "HTML/QuickForm.php"; $form = new HTML_QuickForm('renderer_test','POST'); $form->addElement("text","name","名前"); $form->createElement("submit","send","確認"); $renderer = $form->defaultRenderer(); $renderer->setElementTemplate("{label}{element}","name"); $renderer->setElementTemplate("{element}","send"); $form->accept($renderer);

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>HTML_Quickform についての知識は欠片もないですが、表示方法を調整するなら おそらくcssでやればいいのでは?

kojirinpa2
質問者

補足

cssは少し調べてみましたが、できるのかどうかわかりません。 $form->display(); で入力欄もボタンもまとめて出力されてしまうので タグを挿入することはできません。 quickformの本体ファイルをいじらないと無理なのかもしれないです。 しようがないのでjavascriptでやってみることにします。

関連するQ&A

  • PHPとHTMLを使って(早急にお願いします)

    はじめまして。 課題のデータが消えてしまい早急の提出物になるので 丸投げになるんですがどうかよろしくおねがいします。 ブラウザのフォームを使って携帯電話の形式チェックが行えるようにする。 フォームの内容 1、入力欄 形式:test name値:mobile value値:空(初期値) 2、サブミットボタン value値:確認する 3、フォームメソッド post 携帯番号入力後「確認する」ボタンを押す (1)入力フォーム再表示 (2)入力フォームのmobileの欄に入力した携帯番号表示 (3)入力した値が携帯番号の形式だったら「携帯番号です」と画面表示 (4)入力した値が携帯番号ではない場合「携帯番号じゃありません」と画面に出力 ファイル名 mobile.php ※PHPでpostメソッドを利用して送信したデータはスーパーグローバル変数の$_POSTに格納される よろしくお願いします。

    • 締切済み
    • PHP
  • PEARのQuickFormを用いて同一ページ内で複数フォーム設置について

    PEARのQuickFormを用いて同一ページ内に2つのフォームを 設置したいのですが、一方のフォームの送信ボタンを押すと、 両フォームとも確認画面で確認表示となってしまいます。 他方のフォームはそのままフォームを出力させたいのですが。 それから下記のように二つのフォームに、 重複する項目(mailaddress)があります。 mailaddressという変数名はDBのカラム名でもあり、変更できません。 ボタンを押したフォームのみ、確認表示されるようにはできませんでしょうか? <form method="post" action="***.php" name="formA"> ID:{$form.mailaddress.html} PASS:{$form.pass.html} {$form.submit.html} </form> <form method="post" action="***.php" name="formB"> メールアドレス:{$form.mailaddress.html} お問い合わせ内容:{$form.toiawase.html} {$form.submit.html} </form>

    • ベストアンサー
    • PHP
  • HTML_QuickFormの関数について

    setRequiredNoteの使い方でわからないのですがマニュアルをみるとフォームに必須入力フィールドが 含まれている場合に 通常はフォームの下に表示されます。とありますが全く表示されません。 表示はsmartyで行っておりざっくりですが以下のようにしています。 $form->addElement('textarea', 'message', 'メッセージ:'); $form->addRule('message', '必須項目です', 'required'); $form->setRequiredNote('*必須入力'); フォーム等については問題なく表示され動作するのですがこれを表示するにはテンプレート側に どう記述すればいいですか? phpで$formをdumpしたところ[_requiredNote]に設定値があったので試しに{$form.requiredNote}と 入れてみましたが表示されず調べてみましたが全くわからずです。

    • ベストアンサー
    • PHP
  • VBAのボタンの位置が変わって困ります

    VBAでエクセルシートにボタンをつくり実行していると、自分のパソコンとほかの人のパソコンでボタンの位置がずれてしまします。ボタンを隣同士にくっつけていると、ボタンが重なっていたり・・・。 それにユーザーフォームのディスプレイでの表示の大きさが違っていたり、どういうことかご存知の方教えていただけないでしょうか。

  • HTMLファイルに、文字を書き込めますか?

    お世話になります。 HTMLで1ページだけ作成したとします。 そのページに、入力フォームと送信ボタンを配置して 入力フォームに文章を入力して、送信ボタンを押すと 入力した文章が反映するのは可能でしょうか? PHPを用いたらおそらくできるとは思うのですけど 実際はできるのでしょうか? みなさんだったら、どういう方法をするか教えてください。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • HTMLだけでボタン作成

    リンクボタンとしてHTMLだけで作成したいのですがこのサイトでも使用されている送信フォームのボタン(灰色の四角いボタン)を使おうと考えています。 ボタンの色や形、大きさを変えることはできるのでしょうか?

    • ベストアンサー
    • HTML
  • HTMLなど詳しい方 おしえてください。

    個人で写真や映像のお仕事をしていて 以前に自分でホームページも作りました。 おおよそ問題ないのですが、ご注文時のフォームメールをお客さんが入力してくれる時に 入力中にもかかわらず途中でフォームが送信されてしまいます。 エンターを押すと送信されるようになっているようで、次にこうかと、または改行しようとして送信してしまう見たいです 自分は独学でWEB制作を学んでいたので、詳しくなく、フォームメールもどっかからコピーしたソースを作り変えた程度です。 なので、どうやったらエンターを押しても送信されないようになるかがわかりません。 分る方にとっては、たいしたことではないかと推測しますので、アドバイスをお願い致します。 以下がそのフォームメール(ご注文フォーム入力画面)のページです。 http://pro.pochi.sc/order.html よそしくお願い致します。

    • ベストアンサー
    • HTML
  • フォームの送信ボタンの位置

    フォームのテキストエリアの横に送信ボタンを配置したいのですが どの様なタグを入れたらいいでしょうか? ※送信ボタンは画像ではありません。

    • ベストアンサー
    • HTML
  • HTMLのリセットボタンについて

    2つ以上のフォームがあるページ内で、各フォームに対するリセットボタンと、1つのリセットボタンを押すと全てのフォームがリセットされるボタンを混在させる方法はないでしょうか?

    • ベストアンサー
    • HTML
  • HTML:フォームのボタンの位置の微調整

    フォームのボタンの位置の微調整をしたいです。 具体的にはボタンを2つ並べたときの隙間をもう少し空けたいのですが、 相対位置指定:relativeで微調整するしか方法はないでしょうか? 他に方法があれば教えてください。 以上、宜しくお願い致します。

専門家に質問してみよう