- ベストアンサー
tableにformを配置したい。
tableの複数のcellに一個づつformの枠を配置したくて <td valign="top" width="30" height="30"><form ><input type="text" name="kai" value="" size="1" maxlength="2"></form></td> としてみました。ピッタリ入れたいのですが、うまくいきません。 さらに、入力して(一字)リターンキーを押すと文字が消えてしまいます。テーブルにピッタリはいって文字が消えないようにしたいのですが、どうすればいいのか、どなたか教えてくださいー!
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
★そんなおかしな<form>はありえません。 具体的に何をされたいのかを説明いただくほうが早いです。 formの用途は、『フォーム処理のためにWebサーバやメールサーバ等のエージェントへとフォームを提出する。( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/interact/forms.html#h-17.1 )』のが目的ですから。そのように動作するべきなのです。 ★ひょっとして、tableを使うこと自体が誤りの可能性があります。
その他の回答 (3)
- fujillin
- ベストアンサー率61% (1594/2576)
>リターンキーを押すと文字が消えてしまいます formの要素でリターンを押下すると、formがsubmitされます。 ご提示の場合だと、actionが指定されていないので、自分自身がリロードされることになります。 再表示されるので、入力値が消えたように見えるのではないですか? formの必要がなければformタグをはずせば、そのようになりますし、submitをキャンセルする方法もあります。 >テーブルにピッタリはいって文字が消えないようにしたいのですが、 >どうすればいいのか ご提示の状態だと『テーブルにピッタリ』とは思えませんが、そのあたりについてはCSS等をじっくり研究してみてください。
お礼
ありがとうございました。 formを使用しない方法を考えてみ、ます。
- neko-ten
- ベストアンサー率55% (1287/2335)
と、なんか変なこと書いた >formのCSSに、display:inlineいれてpaddingとmarginを0にしちまうのが早いけど・・・ ↓ formのCSSに、display:inlineいれるかpaddingとmarginを0にしちまうのが早いけど・・・
- neko-ten
- ベストアンサー率55% (1287/2335)
CSSで各要素定義すればいいんだが、環境etcがさっぱりわからないです。単位も不明。 tableに入れている意味もこれだけだと不明だし。 formのCSSに、display:inlineいれてpaddingとmarginを0にしちまうのが早いけど・・・ >さらに、入力して(一字)リターンキーを押すと文字が消えてしまいます。 そりゃ、formの要素なんだからsubmitしたらページが遷移します。 input textでreturnって、そのままsubmitしてるってことだよ。 これもinputに何を入れて、formで何をさせたいのかわからないと具体的に提案が難しいです。 submitをJavaScriptでフックして、return false返せばいいとは思うけど、そうするとやっぱり何がしたいか不明になる。 基本的なsubmitに関してはfalse返して、送信を行わせるときには別に関数作って実行させたほうが早いかもしれない
お礼
ありがとうございました。 勉強不足を痛感しました。じっくり研究したいと思います。
お礼
ありがとうございました。 tableを使用しない方法を考えてみます。