Multiple Forms or Multiple Submits in a Page?

后端 未结 1 953
孤城傲影
孤城傲影 2020-11-28 06:05

I\'m creating a page with the products sold in the website. I\'d like to include an \"add to cart\" button near each product, which are listed with markup similar to this:

相关标签:
1条回答
  • 2020-11-28 06:31

    Best practice: one form per product is definitely the way to go.

    Benefits:

    • It will save you the hassle of having to parse the data to figure out which product was clicked
    • It will reduce the size of data being posted

    In your specific situation

    If you only ever intend to have one form element, in this case a submit button, one form for all should work just fine.


    My recommendation Do one form per product, and change your markup to something like:

    <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>
    

    This will give you a much cleaner and usable POST. No parsing. And it will allow you to add more parameters in the future (size, color, quantity, etc).

    Note: There's no technical benefit to using <button> vs. <input>, but as a programmer I find it cooler to work with action=='add_to_cart' than action=='Add to Cart'. Besides, I hate mixing presentation with logic. If one day you decide that it makes more sense for the button to say "Add" or if you want to use different languages, you could do so freely without having to worry about your back-end code.

    0 讨论(0)
提交回复
热议问题