24

HTML5を始めたばかりで、Webページごとに1つのタグを使用するか、複数のフォームタグを使用するかを一般的に知りたいです。<form>

状況にもよりますが、次の2つのシナリオがあります。

  1. 1つのサインアップフォーム
  2. 複数のサブフォームがあるホームページ:ログイン、メーリングリストへの参加など。

フォームタグを別のタグの中に入れるのは悪いことですか、それとも標準に従って問題ありませんか?

ありがとう

編集 フォームタグの目的を簡単に説明していただけますか?

4

4 に答える 4

30

あなたはすでにあなたの質問に答えているように感じます。

  1. 1つのサインアップフォーム=1つのフォームタグ。
  2. 複数のフォーム=多くのフォームタグ。

それらをネストしないでください。

編集

フォームタグは、GETまたはPOSTリクエストを使用して最終的にターゲットURLに渡すさまざまなフィールド(つまり、入力タグ)を保持することを目的としています。

このログインフォームを例にとってみましょう。

<form action="login.php">
  <input id="name" type="text" name="name">
  <input id="passwd" type="password" name="passwd">
  <input type="submit" value="Login">
</form>

これには、ログイン、パスワード、および送信ボタンがあります。[ログイン]ボタン(type = "submit")を押すと、フォームはその情報を取得して別のURL(この場合は "login.php")に送信し、そのURLがそれに応じて情報を処理します(例:検証、サインインし、キャプチャを表示します)。

于 2012-08-21T23:43:51.140 に答える
10

1つのページに複数のフォームを含めることができない理由はありません。フォームをネストすることはできません。これは、フォームがどのフィールドが何のためのものであるかを識別できないためです。

概念的には、2つのフォームの情報がサイトの同じセクションまたは領域を占める必要がある場合(たとえば、サインアップフォームとメーリングリストフォームなどを組み合わせる場合)、1つのフォームを使用して整理します。もう一方の端のPOST変数からの情報。意味のある方法で名前を付ける限り、ネストされたフォームでこれを実現することすら望まないはずです。

編集:

質問にさらに答えるために、最も基本的なユースケースでは、フォームタグを使用してデータをURLに送信します。フォームを送信するために選択したURLは、通常、そのデータを受信し、データベースにデータを保存したり、特定のユーザー名とパスワードに基づいて新しいユーザーを作成したりするなど、そのデータに対してアクションを実行する前に何らかの方法で処理します。

于 2012-08-21T23:50:32.080 に答える
2

フォームをフォーム内に配置することは意味がありませんが、各フォーム内のフィールドを今どのように区別しますか?それらはマスターフォームの一部ですか?子フォーム?両方?

入力を読み取る必要がある領域ごとに個別のフォームがベストプラクティスです。ログインエリアがある場合は、そのためのフォームを作成してください。そのページにコメント領域もある場合は、別のフォームでそのイベントを処理する必要があります。

于 2012-08-21T23:43:40.300 に答える
0

はい、1つのHTMLページ内で複数のタグを使用できます。1つのHTMLページから2つの異なるデータを送信する必要がある場合があります。そのためには、複数のタグを使用する必要があります。タグを使用して、データを特定のサーブレットまたはJSP(JAVAの場合)に送信します。を通じてクライアントに関する情報を提供します。タグ内にはaction="#"という属性があります。内部のデータが移動する必要がある特定のサーブレット名を定義しました。したがって、クライアント(HTML)からサーブレット(サーバー)にデータを提供します。次に、サーブレットは、データベースにデータを挿入するなど、提供されたデータを操作します。次のコードは、理解するのに役立ちます。ここでは、2つのタグが2つの異なるタスクに使用され、2つの異なるサーブレットによって処理されます。

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Registration | Badhon</title>
<link rel="stylesheet" type="text/css" href="registration.css">
</head>


<body background="images/registration.jpg">



	<div class="title">
		<h1>Registration</h1>
	</div>

	<div class="container">

		<div class="left">
       <div><h1>Choose an image (300*300)</h1></div>
   
   
   /* First Form tag ---------------------*/
      <form name="fileform" method="post" action="uploadImage" enctype="multipart/form-data">
				
				<br> <label for="photo"> Portrait Photo: </label> <input
					type="file" name="photo" size="50" placeholder="Upload Your Image"
					required /><br>
				<br> <input type="submit" value="Save">
			</form>
      
 
 /* End of First Form Tag---------------------*/
	 
   
   </div>


		<div class="right">
			<div class="formbox">
				
  /* Second Form tag------------------ */      
        <form action="DonarRegister">
					<p>Name</p>
					<input type="text" name="name" placeholder="Name">
					
					<p>Username</p>
					<input type="text" name="username" placeholder="User_name">
					
					<p>Password</p>
					<input type="Password" name="password" placeholder="..........">
					
					<p>Blood Group</p>
					<input type="text" name="bloodgroup" placeholder="O positive">
					
					<p>Age</p>
					<input type="number" name="age">
					
					<p>Mobile Number</p>
					<input type="text" name="mobilenumber" placeholder="......">
					
					<p>email</p>
					<input type="text" name="email" placeholder="......">
					
					<p>Address</p>
					<input type="text" name="address" placeholder="Village/Thana/District"> 
					<input type="submit" name="" value="Register">
				    
				   <p> <h5>Have already an account !! Then <a href="login.jsp">just login</a></h5></p>



</form>
/* End of Second form tag ----------------- */ 
 
 
			</div>
		</div>
	</div>
</body>
</html>

データベースなど。

于 2018-02-24T11:08:56.037 に答える