2016-11-07 8 views
0

私は、ポストを使用してページの上に入力するためのいくつかのテキストフィールドと、ポストメソッドを使用するページの下部にもページ区切りバーを持つデータベースフロントエンドを持っています。<form>にhtml文書全体をラップするのは悪いですか?

Iは

<form method = 'post'> 

<Body> 

//Inputs 

//Table contents 


//Pagination bar buttons 

</Body> 


</Form> 

トップ入力をカプセル化しましたが、フォームが文書の底部まで延在しているので、私は、フォームを拡張しました。 (データベーステーブルはドキュメントの途中で返されます)新しいフォームタグを開始した場合、リクエストには前に入力したテキストフィールドが上に表示されず、入力は下のフォームにのみ含まれるため、2つのフォームは使用できません。

<Html> 
<Form method ='post'> 

//Inputs 
</Form> 
//Table results 

<Form method = 'post'> 
//Pagination bar buttons 
</Form> 
</Html> 

これは機能しません。 フォームタグにhtml doc全体をカプセル化してもよろしいですか?私は、クライアントがポストまたは何かの文書全体を送信することを望んでいません。

+0

'form'要素には多くの子要素を含めることができます。理由はありません。あなたのデザインが理想的であるかどうかに関わらず、ここで情報を与えられたことは本当にわかりません。 – David

+0

あなたが記述しているのは、基本的にASP.NET 1-2x PostBackメカニズムがどのように動作しているかです。双方向入力コントロールは、単一の '

'要素に存在する必要があります。それはかわいそうではなかった。 – Dai

+2

他の入力をメインフォームの中に ''入力として複製することを考えましたか?また、POST要求に対して応答HTMLが生成されたときに、これらのフィールドを再入力することもできます。 – Dai

答えて

2

あなたはこのことを意味している場合、それは大丈夫です:

<!DOCTYPE html> 
<html> 
<head> 
    <title>This is OK</title> 
</head> 
<body> 
    <form> 
     Everything 
    </form> 
</body> 
</html> 

しかし

<form> 
    <!DOCTYPE html> 
    <html> 
    <head> 
     <title>Yes this is bad</title> 
    </head> 
    <body> 
     Something 
    </body> 
    </html> 
</form> 

または

<!DOCTYPE html> 
<form> 
    <html> 
    <head> 
     <title>Yes this is bad</title> 
    </head> 
    <body> 
     Something 
    </body> 
    </html> 
</form> 

だけで無効です。

+0

なぜ無効なのか説明できますか?私は現在、下の例を使っています。うまくいきます。 – user4757174

+0

これは私がここから集めたものです:https://developer.mozilla.org/en/docs/Web/HTML/Element/html。 _root_要素であるため、ドキュメントに複数の要素を含めることはできません。ブラウザが何かを表示しようとしていることをブラウザが修正している可能性があります。インスペクタでレンダリングされたDOMを見てください。 – tmslnz

+1

*私は現在、下の例を使用しています* @ user4757174 - その情報は質問そのものにあるべきです。あなたは現在、フォームタグ*でhtml doc全体をカプセル化することによって人々があなたが意味するものを推測している2つの答えを得ています。 – BSMP

1

フォームに送信される唯一のものは、入力タグに関連付けられた値です。したがって、文書全体がフォームに提出されることはありません。入力に関連付けられた値のみ。
あなたのデザインが「悪いアイデア」であるかどうかは、与えられた情報では分かりません。私はあなたのページ区切りバーが(リンクではなく)全くフォームでなければならない理由を伝えることはできませんが、フォームに提出する文書全体について心配しているなら、それは起こりません。

+0

メソッドがポストであるためリンクの代わりにボタンです(ポストを使用してURLに変数を入れることはできません) – user4757174

関連する問題