UFO ET IT

한 페이지에 여러 양식 또는 여러 제출이 있습니까?

ufoet 2020. 12. 25. 00:14
반응형

한 페이지에 여러 양식 또는 여러 제출이 있습니까?


웹 사이트에서 판매되는 상품 페이지를 만들고 있습니다. 각 제품 근처에 "장바구니에 추가"버튼을 포함하고 싶습니다.이 버튼은 다음과 유사한 마크 업으로 나열됩니다.

<h4 class="productHeading">Product Name 1</h4>
<div>
  Extra information on the product 1.
</div>
<h4 class="productHeading">Product Name 2</h4>
<div>
  Extra information on the product 2.
</div>
 ...

제출 입력은 다른 이름 (제품 코드 포함)을 갖기 때문에 큰 질문은 전체 제품 목록을 양식으로 래핑해야합니까, 아니면 각 제품에 대해 하나의 양식을 만들어야 하는가입니다. 코드에서 :

<form method="post" action="process.php">
  <h4 class="productHeading">Product Name 1</h4>
  <div>
    Extra information on the product 1.
    <input type="submit" name="submit1" value="Add to Cart">
  </div>
  <h4 class="productHeading">Product Name 2</h4>
  <div>
    Extra information on the product 2.
    <input type="submit" name="submit2" value="Add to Cart">
  </div>
</form>

또는…

<h4 class="productHeading">Product Name 1</h4>
<div>
  Extra information on the product 1.
  <form method="post" action="process.php">
    <input type="submit" name="submit1" value="Add to Cart">
  </form>
</div>
<h4 class="productHeading">Product Name 2</h4>
<div>
  Extra information on the product 2.
  <form method="post" action="process.php">
    <input type="submit" name="submit2" value="Add to Cart">
  </form>
</div>

어느 것이 모범 사례입니까? 둘 중 하나를 사용하지 않는 심각한 이유가 있습니까? 아니면 완전히 잘못하고 있습니까?


모범 사례 : 제품 당 하나의 양식을 사용하는 것이 좋습니다.

혜택:

  • 클릭 한 제품을 파악하기 위해 데이터를 구문 분석해야하는 번거 로움을 덜어줍니다.
  • 게시되는 데이터의 크기가 줄어 듭니다.

특정 상황에서

하나의 양식 요소 (이 경우에는 submit버튼) 만 사용하려는 경우 모든 양식이 잘 작동합니다.


내 권장 사항 제품 당 하나의 양식을 작성하고 마크 업을 다음과 같이 변경하십시오.

<form method="post" action="">
    <input type="hidden" name="product_id" value="123">
    <button type="submit" name="action" value="add_to_cart">Add to Cart</button>
</form>

이것은 당신에게 훨씬 더 깨끗하고 유용 할 것 POST입니다. 구문 분석이 없습니다. 또한 앞으로 더 많은 매개 변수 (크기, 색상, 수량 등)를 추가 할 수 있습니다.

참고 : 이 사용하는 기술적 인 혜택은 없습니다 <button>비교가 <input>있지만, 프로그래머로서 내가 함께 작업에 쿨러 찾을 action=='add_to_cart'것보다 action=='Add to Cart'. 게다가 나는 표현과 논리를 섞는 것을 싫어한다. 언젠가 버튼이 "추가"라고 말하는 것이 더 합리적이라고 결정하거나 다른 언어를 사용하려는 경우 백엔드 코드에 대해 걱정할 필요없이 자유롭게 수행 할 수 있습니다.

ReferenceURL : https://stackoverflow.com/questions/8712398/multiple-forms-or-multiple-submits-in-a-page

반응형