• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:クラスについて)

自作フォームクラスでのフォーム生成と配列追加方法

tany180sxの回答

  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.2

>各クラスが存在してもメインのFormで統括する その方が自然かと。 Formで統括しないとすべてのエレメントクラスを覚えないとだめになります。 ただ、エレメントごとに異なるメソッドもあるかもしれないので $form->name->hoge() みたいに任せられる必要もあるかも。 もうひとつの方向性として、RailsのごとくView(ヘルパー)に特化させる。 <%= form.text_field :name, :style => 'width: 200px;' %> (template)

dcx147
質問者

補足

お返事ありがとうございます。 やはりメインのクラスで管理するべきですよね。ご提案頂いたRailsは全く触った事がないので 今回はphpでやりたいと思います。 ちなみになのですが今回の場合のように複数のクラスを1つのクラス内で使う場合どのように 書けばいいのでしょうか? それぞれのクラスを定義するとこまでは想像がつくのですがどのように1つのクラスでまとめて 使えばいいものかわからない状態です。 宜しければ作成の参考までに一例を挙げて頂けますと幸いです。

関連するQ&A

  • 改行するには? FORMで入力されたデータ

    下記のFORMで入力 <TEXTAREA rows="20" cols="53" name="name3"></TEXTAREA> で$nameに入力した複数行を php <?php print "メッセージ→"; print $name3; ?> で、$nameを改行しながら 表示したいのですが?

    • ベストアンサー
    • PHP
  • 記号()が混ざった正規表現について

    さらに、申し訳ありません。 文字列:<textarea name="sss1" cols="100" rows="12" onClick="FormName(this)">abcde</textarea><textarea name="sss2" cols="100" rows="12"></textarea> から、 abcde を抽出したく、 下記のようにコーディングしましたが、 abcde</textarea><textarea name="sss2" cols="100" rows="12"> になってしまいます。 正規表記のコーディングを教えてください。 よろしくお願いします。 <?php $a = "<textarea name=\"sss1\" cols=\"100\" rows=\"12\" onClick=\"FormName(this)\">abcde</textarea><textarea name=\"sss2\" cols=\"100\" rows=\"12\"></textarea>"; mb_ereg("<textarea name=\"sss1\" cols=\"100\" rows=\"12\" onClick=\"FormName(this)\">(.*)</textarea>",$a,$b); print "$b[1]"; ?>

    • ベストアンサー
    • PHP
  • テキストエリアの作成法

     下記のような横一列に並んだ3つのテキストエリアを作成しました。Mozilla Firefoxではほぼ期待通り表示されましたが、インターネット・エクスプローラーでは全く表示されません。後者でも表示させるにはどうしたらよいでしょうか。 またテキストエリア内の文章に改行をつけるにはどうしたらよいでしょうか。 <form><p class=MsoNormal><span><TEXTAREA ROWS="13" COLS="70" NAME="textarea1"id=textarea1 style="HEIGHT: 540px; WIDTH: 300px; font-size: 9pt" readonly> 『テキスト』 </TEXTAREA> &nbsp;<TEXTAREA ROWS="13" COLS="70" NAME="textarea1"id=textarea1 style="HEIGHT: 540px; WIDTH: 300px; font-size: 9pt" readonly> 『テキスト』 </TEXTAREA> &nbsp;<TEXTAREA ROWS="13" COLS="70" NAME="textarea1"id=textarea1 style="HEIGHT: 540px; WIDTH: 300px; font-size: 9pt" readonly> 『テキスト』 </TEXTAREA></span></p></form>

  • javascriptを教えて下さい

    上の欄に文字を入力しボタンを押すと下の欄に表示するhtmlを作りたいと思っております 何回か自力でやってみたのですがわからないのでどのようにするかご教授願いたいです・・・ ソースは <form method="POST" action="検索"> <textarea name="msg" cols="30" rows="10"> ここにメッセージをどうぞ </textarea> <br> <input type=submit value="送信"> <br> <input type=reset value="クリア"> </form> <form method="POST" action="受信"> <textarea name="msg" cols="30" rows="10"> </textarea> </form> このようなふうになってます このままじゃダメでjavascriptを使うということはわかっているのですがどのようにしたらいいかわかりません・・・ 何回か試したのですがうまくいきませんでした 初心者なのでアドバイスお願いします!

  • TEXTAREA内の改行位置をinnerHTMLで反映させたい

    例えば、 <HTML> <HEAD> <SCRIPT> function send(){ var message = f1.message.value var str = '<HTML>\n<HEAD>\n</HEAD>\n<BODY>\n' str += ''+ message +'\n' str += '</BODY>\n</HTML>' document.frame1.document.body.document.body.innerHTML = str } </SCRIPT> </HEAD> <BODY> <FORM name="f1"> <TEXTAREA rows="10" cols="40" name="message" onChange="send()"></TEXTAREA> </FORM> <IFRAME name="frame1" id="frame1" width="90%" height="350"></IFRAME> </BODY> </HTML> このような記述をして、テキストエリア内に文字を数行にわたって書き込んでも改行はされません。 どのようにすれば改行されるようになりますか? innerHTMLのところをinnerTEXTとして改行位置に<BR>タグが入るようにするのでもかまわないのですが、、、 どなたかお分かりになる方、ご教授願います。

  • HTML5メールフォームの作り方

    お世話になります。HTML5のテンプレートを使用してメールフォームを作成しようとしておりますが、なかなかうまくいきません。action=""にメールアドレスを入れてみましたが、できませんでした。どなたかお分かりの方いらっしゃいましたら、どうかよろしくお願い致します。 <form id="contact" action="contact.html" method="post"> <div class="form_settings"> <p><span>Name</span><input class="contact" type="text" name="your_name" value="" /></p> <p><span>Email Address</span><input class="contact" type="text" name="your_email" value="" /></p> <p><span>Message</span><textarea class="contact textarea" rows="5" cols="50" name="your_message"></textarea></p> <p style="padding-top: 15px"><span>&nbsp;</span><input class="submit" type="submit" name="contact_submitted" value="send" /></p> </div> </form>

    • ベストアンサー
    • HTML
  • 複数のフォームを一括で送信することは可能ですか?

    CGIの勉強を始めたばかりの初心者です。 本に簡単なフォームメールがあったのですが、複数のフォームを一括でデータ送信する方法はあるのでしょうか? http://oshiete1.goo.ne.jp/qa3395953.htmlで教えて頂いた方法を真似て、以下のようにしてみたのですが、これだと1つのフォームしかデータ送信できないです。 CGIの方もいじらないと複数のフォームを一括送信はできないのでしょうか? <script language="javascript"><!-- function send() { document.nform.submit(); document.nform2.submit(); } //--></script> <form name="nform" method="POST" action="./5-2.cgi"> <p>お名前 :<input type="text" name="name" size="40"></p> <p> メッセージ: <br> <textarea cols="50" rows="5" name="message"></textarea> </p> </form> <form name="nform2" method="POST" action="./5-2.cgi"> <p>お名前 :<input type="text" name="name" size="40"></p> <p> メッセージ: <br> <textarea cols="50" rows="5" name="message"></textarea> </p> </form> <input type="button" value="送信" onClick="send()">

    • ベストアンサー
    • CGI
  • textareaの内容が一部の携帯で無効に

    以下のように記述して投稿フォームを作っています。 <form action="******.cgi" method="post" enctype="" > <input type="hidden" name="mode" value="prev"> <input type="hidden" name="name" value="">       ・       ・       ・ <textarea cols="55" rows="8" name="CONTENTS"></textarea>       <input type="submit" value="送信" class="btn"> </form> なぜか一部の携帯で<textarea>内の文字列が送信されません。 name属性が大文字なのが原因でしょうか? formのenctype属性が空欄だからでしょうか。 ちなみに問題を確認した端末はAUの京セラK002です。

  • HPでメールフォームを作るとき

    <TEXTAREA name="メッセージ" rows="6" cols="35">メッセージをいれてください</TEXTAREA></td> と、メールフォームのメッセージを書くところを作るとき こういうのをいれるじゃないですか, しかし保存してみると</TEXTAREA>が<%%TEXTAREA>に なってしまうんです。<%%TEXTAREA>になると下に書いたやつがぜんぶメッセージのトコロにのってしまうんです。 どうやったらなおせるのか知ってたら教えてください! 文章も意味が分からなかったらすいません。 HP作成は2styleを使っています。

  • テキストエリア内にPHPのソースコードを書く

    <form action="" method="post"> <textarea name="img" cols=40 rows=4 readonly> <?php echo"<?php echo"masao"; ?>"; ?> </textarea></form> このプログラムの結果 <?php echo"masao"; ?> と表示したかったのですが案の定できませんでした。 どのようにしたら表示させることができるでしょうか?

    • ベストアンサー
    • PHP