電子書籍の厳選無料作品が豊富!

1.フォームを使用し、下のようなサイトを作る場合
このようなコードで作ったのですが、どのような書きかたがスマートなのでしょうか?
(※商品選択からカートに入れるボタンまでの間に、他に要素がたくさんあります。)

よろしくお願いいたします。

<div id="header">
  ・
  ・
  ・
</div>
<div id="contents">
<form>
<input>
<select>
  ・      ←商品選択フォーム
  ・
  ・
</select>
</div>
<div id="footer">
  ・
  ・
  ・
<input>←カートに入れるボタン
</form>
</div>

「フォームボタンがフッターにあるときの記述」の質問画像

A 回答 (3件)

JavaScript(jQuery)を使えば



<div id="contents">
<form>
 ・
 ・
 ・
</form>
</div>

の内容を

<div id="footer">
<input />
</div>

のボタンで送信することもできます。

ユーザがJavaScriptをONにしていることが前提ではありますが。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!
javascriptですね!
助かりました!!

お礼日時:2012/08/30 08:57

>その場合の記述はどのようになるのでしょうか?


 リキッドデザイン・・ウィンドウ幅に制約されない・・簡単なサンプル書いておきます。(画像は用意してください。)
 ご覧になるとわかるとおり、HTMLは文書構造しか書いていませんから簡単ですね。誰でも手を入れられるはずです。
 一方のスタイルシートは、HTMLの文書構造を基に書いていますから、HTMLを開かなくても修正が出来るはずです。
 このように文書構造とプレゼンテーションを分離することで、とても簡単になり、どのようにでもデザインできます。
ポイントはHTMLは文書構造しか書かない・・。
★Another HTML-lint 5 ( http://www.htmllint.net/html-lint/htmllint.html )
★The W3C Markup Validation Service ( http://validator.w3.org/#validate_by_input )
★W3C CSS 検証サービス ( http://jigsaw.w3.org/css-validator/#validate_by_ … )
で検証済みのHTML4.01strict+CSS2.1です。
タブは_に置換してあるので戻すこと。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja">
<head>
_<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
_<title>サンプル</title>
_<meta name="author" content="ORUKA1951">
_<meta http-equiv="Content-Style-Type" content="text/css">
_<link rev="made" href="mailto:oruka1951@hoge.com" title="send a mail" >
_<link rel="START" href="../index.html">
_<style type="text/css">
<!--
html,body{margin:0;padding:0;}
p{margin:0 auto;text-indent:1em;}
div.header{height:100px;background-color:red;}
div.header h1{margin:0 auto;}
div.section{padding-bottom:100px;}
div.section div.section{padding-bottom:10px;}
div.section ul,div.section ul li{display:block;list-style:none;margin:0;padding:0;}
div.section ul,div.section div.section,div.section h2{margin-left:30%;}
div.section ul li ul{margin-left:0;}
div.section ul li{width: 200px;height:300px;float:left;margin-left:10px;}
div.section ul li ul li{float:none;height:auto;}
div.section div.section{clear:left;}
div.footer{position:fixed;width:100%;background-color:gray;height:100px;bottom:0;font-size:0.9em;}
div.footer>*{margin:0 50% 0 0}
form input[type="submit"]{position:fixed;bottom:20px;right:20px;z-index:10;font-size:2em;}
#contentTable{position:fixed;top:120px;left:10px;}
-->
_</style>
</head>
<body>
_<div class="header">
__<h1>商品一覧</h1>
__<p>このページでは・・・・</p>
_</div>
_<div class="section" id="productList">
__<h2>商品を選択してください。</h2>
__<form action="#">
___<ul>
____<li><img src="./images/photo/01.jpg" width="200" height="200" alt="商品1">
_____<ul>
______<li>なんたらかんかたら</li>
______<li>価格:10,000円</li>
______<li>かごに入れる<input type="text" size="2" name="p1" value=""></li>
_____</ul>
____</li>
____<li><img src="./images/photo/02.jpg" width="200" height="200" alt="商品2">
_____<ul>
______<li>なんたらかんかたら</li>
______<li>価格:10,000円</li>
______<li>かごに入れる<input type="text" size="2" name="p2" value=""></li>
_____</ul>
____</li>
____<li><img src="./images/photo/03.jpg" width="200" height="200" alt="商品3">
_____<ul>
______<li>なんたらかんかたら</li>
______<li>価格:10,000円</li>
______<li>かごに入れる<input type="text" size="2" name="p3" value=""></li>
_____</ul>
____</li>
____<li><img src="./images/photo/04.jpg" width="200" height="200" alt="商品4">
_____<ul>
______<li>なんたらかんかたら</li>
______<li>価格:10,000円</li>
______<li>かごに入れる<input type="text" size="2" name="p4" value=""></li>
_____</ul>
____</li>
____<li>いくつでも増やせます。ウィンドウ幅を変えてもOK!!</li>
___</ul>
___<p><input type="submit" name="productList1" value=" バスケットに入れる "></p>
__</form>
__<div class="section" id="tediously1">
___<h3>御託1</h3>
___<p>ここに御託を並べる・・・</p>
___<p>ここに御託を並べる・・・</p>
___<p>ここに御託を並べる・・・</p>
___<p>ここに御託を並べる・・・</p>
___<p>ここに御託を並べる・・・</p>
___<p>ここに御託を並べる・・・</p>
___<p>ここに御託を並べる・・・</p>
___<p>ここに御託を並べる・・・</p>
___<p>ここに御託を並べる・・・</p>
__</div>
__<div class="section" id="tediously2">
___<h3>御託2</h3>
___<p>ここに御託を並べる・・・</p>
__</div>
__<div id="contentTable">
___<ol>
____<li><a href="#productList">商品</a></li>
____<li><a href="#tediously1">御託1</a></li>
____<li><a href="#tediously2">御託2</a></li>
___</ol>
__</div>
_</div>
_<div class="footer">
__<h2>文書情報</h2>
__<address>&copy; ORUKA1951 2012 - 2016 All Rights Reserved mailto:*****</address>
_</div>
</body>
</html>
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
丁寧な対応ありがとうございました。

お礼日時:2012/08/30 08:58

formが他の要素をまたいでいます。

HTML5的に記述すると
<section>
 <form>
  コントロール
  送信
 </form>
</section>
でなければなりません。

<div class="header">
 ヘッダ
</div>
<div class="section">
 <form>
  フォームコントロール
  (送信ボタン)
 </form>
</div>
<div class="footer">
 フッタ文書情報など
</div>
 で良いです。このときdiv.sectionをstaticで置いておけば、良いです。

 HTMLはデザインのために書くものではありません。HTMLのデザイン機能なんてしょぼいものです。デザインなどは考えずに、きちんと書きましょう。
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。

そうなんです、他の要素をまたいでいるんです。。

コンテンツの部分で商品を選択し
その情報を(固定)フッターの送信ボタンで送りたいんです。
その場合の記述はどのようになるのでしょうか?

・・・フォームを2つに分ければいいのでしょうか?
お手数をおかけしますが、よろしくお願いいたします。

お礼日時:2012/08/29 15:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!