ログイン画面の送信ボタンで{$form.submit.html}を使っています。この送信ボタンを画像ボタンにしたいと思うのですが、どのような記述にすればよろしいでしょうか?

回答の条件
  • 1人1回まで
  • 登録:2006/05/19 18:42:13
  • 終了:2006/05/20 21:39:47

回答(2件)

id:kato-s No.1

kato-s回答回数91ベストアンサー獲得回数32006/05/19 20:57:17

ポイント35pt

ボタンを定義する際に、htmlのclass属性を指定するようにして、

スタイルシートでボタンに画像を表示させるようにするのが

スマートかと思います。

(例)

$form->addElement('button', 'btn1', '送信', 'class=image1');

のような感じでボタンに、image1というクラスを設定します。

あとはスタイルシートでimage1クラスに画像を表示する設定をすればOKです。

スタイルシートに関しては以下が参考になります。

*

スタイルシートの基本

http://www.tohoho-web.com/css/basic.htm


ボタンに画像を表示するスタイルの設定

http://members.at.infoseek.co.jp/dhtml_s/web_iehtml/iehtml_form....ボタンの指定

id:sudayosiaki No.2

sudayosiaki回答回数204ベストアンサー獲得回数62006/05/20 15:17:34

ポイント35pt

http://www.tagindex.com/html_tag/form/input_image.html

画像だけでなくテキストでもできます。

  • id:takasiym
    コメントを3回ほど修正したので、
    通知が3回ほど行ってしまうかと思います。
    すみません。。。

    回答1の場合ですと、
    ボタンに背景画像が指定されるので、
    背景画像の前面にボタンのラベルが表示されてしまいます。
    これを避けるためには<input type="image" ~~~>、
    となるような出力を考える必要があるかと。

    $form->addElement("image", "btn1", "送信", "alt=送信");
    とすれば、回答2にあるようなimageボタンの出力が可能だと思います。
    但し、imageボタンはsubmitボタンではないので、
    $form->addElement("image", "btn1", "送信", "alt=送信 onclick='submit();'");
    とする必要があるかと思います。

    時間がある時にHTML_QuickFormをインストールして検証してみます。

    ここからは私見ですが、
    HTML_QuickForm+Smartyは一つのフォームを制御するために、
    管理するファイルの数や種類が多すぎるので、
    逆に煩雑になりはしないかなと。
    大昔のperl+テンプレートのコーディング手法から見ると、
    htmlソースにスクリプトコードを埋め込む、
    phpやJSPというスクリプト言語自体も一種のテンプレート形式と言えると思います。
    そのテンプレート的なスクリプト言語であるPHPに、
    さらにテンプレートする、QuickForm+Smartyという手法に、
    二度手間じゃないの?、という疑問を禁じ得ません。
    ひとまずはQuickForm+Smartyに手を出さず、
    PHPだけで組み上げてみてはいかがでしょうか。
    PHPだけでも充分簡単に作れるかと。。。
  • id:takasiym
    たびたびすみません。
    <input typ="image" ~~~>
    でもリクエストが送信されるようです。
    送信ボタンと同じ動作になります。
    使ったことがないもので挙動が分からなかったです(汗。。
    失礼いたしました。

    記述方法も修正します。
    $form->addElement("image", "btn1", "{画像ファイルのURL}", "alt=送信");
    リクエスト送信時に、
    クリックした場所の座標値を送りますが、
    x座標は$_POST[btn1_x]、y座標は$_POST[btn1_y]、
    へそれぞれ格納されるようです。
    参考URL:http://jp2.php.net/manual/ja/language.variables.external.php

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません