如何修改HTML结构来保证两个表单标签独立工作?

问题描述 投票:0回答:1

我正在开发一个网络项目,其中同一页面上有两个表单标签,每个标签都有不同的用途。但是,内部表单标签似乎无法正常工作。我怀疑这可能是由于表单的嵌套结构造成的。

结构如下:

<!DOCTYPE html>
<html lang="en-US">
    <head>

        <meta http-equiv="content-type" content="text/html; charset=utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Product Cart | BeautySpot - HTML Template for Beauty Salons</title>
        <link rel="shortcut icon" href="images/favicon.ico">

        <!-- STYLESHEETS : begin -->
        <link rel="stylesheet" type="text/css" href="assets/css/general.css"><!-- Default styles generated from assets/scss/general.scss (do not edit) -->
        <link rel="stylesheet" type="text/css" href="assets/css/color-schemes/default.css"><!-- Default color scheme generated from assets/scss/color-schemes/default.scss (change to other pre-defined or custom color scheme) -->
        <link rel="stylesheet" type="text/css" href="style.css"><!-- Place your own CSS into this file -->
        <!-- STYLESHEETS : end -->

    </head>
    <body>

        <!-- WRAPPER : begin -->
        <div id="wrapper">

            <!-- HEADER : begin -->

            <%- html.header %>

            <!-- HEADER : end -->

            <!-- CORE : begin -->
            <div id="core" class="core--narrow">
                <div class="core__inner">

                    <!-- PAGE HEADER : begin -->
                    <div class="page-header">
                        <div class="page-header__inner">
                            <div class="lsvr-container">
                                <div class="page-header__content">

                                    <h1 class="page-header__title">Your Cart</h1>

                                    <!-- BREADCRUMBS : begin -->
                                    <div class="breadcrumbs">
                                        <div class="breadcrumbs__inner">
                                            <ul class="breadcrumbs__list">

                                                <li class="breadcrumbs__item">
                                                    <a href="index.html" class="breadcrumbs__link">Home</a>
                                                </li>

                                                <li class="breadcrumbs__item">
                                                    <a href="product-archive.html" class="breadcrumbs__link">Store</a>
                                                </li>

                                            </ul>

                                        </div>
                                    </div>
                                    <!-- BREADCRUMBS : end -->

                                </div>
                            </div>
                        </div>
                    </div>
                    <!-- PAGE HEADER : end -->

                    <!-- CORE COLUMNS : begin -->
                    <div class="core__columns">
                        <div class="core__columns-inner">
                            <div class="lsvr-container">

                                <!-- MAIN : begin -->
                                <main id="main">
                                    <div class="main__inner">

                                        <!-- PAGE : begin -->
                                        <div class="page product-post-page product-post-order product-post-order--cart">
                                            <div class="page__content">

                                                <!-- PRODUCT CART : begin -->
                                                <form class="product-cart" method="post" action="http://localhost:4000/checkout">

                                                    <!-- CART LIST : begin -->
                                                    <ul class="product-cart__list">

                                                        <% products.forEach(product => { %>
                                                        <!-- CART ITEM : begin -->
                                                        <li class="product-cart__item">

                                                            <!-- ITEM ITEM COL : begin -->
                                                            <div class="product-cart__item-col product-cart__item-col--thumb">

                                                                <!-- ITEM THUMB : begin -->
                                                                <p class="product-cart__item-thumb">
                                                                    <a href="product-single.html" class="product-cart__item-thumb-link">
                                                                        <img src="<%= product.image %>" class="product-cart__item-thumb-img" alt="<%= product.name %>">
                                                                    </a>
                                                                </p>
                                                                <!-- ITEM THUMB : end -->

                                                            </div>
                                                            <!-- ITEM ITEM COL : end -->

                                                            <!-- ITEM ITEM COL : begin -->
                                                            <div class="product-cart__item-col product-cart__item-col--title">

                                                                <!-- ITEM TITLE : begin -->
                                                                <h4 class="product-cart__item-title">
                                                                    <a href="product-single.html" class="product-cart__item-title-link"><%= product.name %></a>
                                                                </h4>
                                                                <!-- ITEM TITLE : end -->

                                                                <!-- ITEM STATUS : begin -->
                                                                <p class="product-cart__item-status product-cart__item-status--in-stock"><!-- You can use "in-stock", "on-order" and "unavailable" modifiers -->
                                                                    <%= product.status %>
                                                                </p>
                                                                <!-- ITEM STATUS : end -->

                                                            </div>
                                                            <!-- ITEM ITEM COL : end -->

                                                            <!-- ITEM ITEM COL : begin -->
                                                            <div class="product-cart__item-col product-cart__item-col--quantity">

                                                                <!-- ITEM QUANTITY : begin -->
                                                                <p class="product-cart__item-quantity quantity-field">

                                                                    <input type="text" class="quantity-field__input" value="1">

                                                                    <button type="button" class="quantity-field__btn quantity-field__btn--add" title="Add one">
                                                                        <span class="quantity-field__btn-icon" aria-hidden="true"></span>
                                                                    </button>

                                                                    <button type="button" class="quantity-field__btn quantity-field__btn--remove" title="Remove one">
                                                                        <span class="quantity-field__btn-icon" aria-hidden="true"></span>
                                                                    </button>

                                                                </p>
                                                                <!-- ITEM QUANTITY : end -->

                                                            </div>
                                                            <!-- ITEM ITEM COL : end -->

                                                            <!-- ITEM ITEM COL : begin -->
                                                            <div class="product-cart__item-col product-cart__item-col--price">

                                                                <!-- ITEM PRICE : begin -->
                                                                <p class="product-cart__item-price">
                                                                    <%= product.price %>
                                                                </p>
                                                                <!-- ITEM PRICE : end -->

                                                            </div>
                                                            <!-- ITEM ITEM COL : end -->

                                                            <!-- ITEM ITEM COL : begin -->
                                                            <div class="product-cart__item-col product-cart__item-col--remove">

                                                                <!-- ITEM REMOVE : begin -->
                                                                <div class="product-cart__item-col product-cart__item-col--remove">
                                                                    <form action="/remove-from-cart" method="POST">
                                                                        <input type="hidden" name="productName" value="<%= product.name %>">
                                                                        <button type="submit" class="product-cart__item-remove-btn">
                                                                            <span class="product-cart__item-remove-btn-icon" aria-hidden="true"></span>
                                                                        </button>
                                                                    </form>
                                                                </div>
                                                                <!-- ITEM REMOVE : end -->

                                                            </div>
                                                            <!-- ITEM ITEM COL : end -->

                                                        </li>
                                                        <!-- CART ITEM : end -->

                                                        <% }); %>

                                                    </ul>
                                                    <!-- CART LIST : end -->

                                                    <!-- CART SUMMARY : begin -->
                                                    <div class="product-cart__summary">

                                                        <!-- CART COUPON : begin -->
                                                        <p class="product-cart__coupon">
                                                            <input type="text" class="product-cart__coupon-input" placeholder="Coupon Code">
                                                            <button type="button" class="product-cart__coupon-btn lsvr-button lsvr-button--type-2">Apply Coupon</button>
                                                        </p>
                                                        <!-- CART COUPON : end -->

                                                        <!-- CART TOTAL : begin -->
                                                        <p class="product-cart__total">
                                                            <span class="product-cart__total-label">Total</span>
                                                            <strong class="product-cart__total-price">$121.60</strong>
                                                        </p>
                                                        <!-- CART TOTAL : end -->

                                                    </div>
                                                    <!-- CART SUMMARY : end -->

                                                    <!-- ORDER FOOTER : begin -->
                                                    <div class="product-order__footer">

                                                        <!-- FOOTER BACK : begin -->
                                                        <p class="product-order__footer-back">
                                                            <a href="product-archive.html" class="product-order__footer-back-link">Back to Store</a>
                                                        </p>
                                                        <!-- FOOTER BACK : end -->

                                                        <!-- FOOTER CHECKOUT : begin -->
                                                        <p class="product-order__footer-checkout">
                                                            <button type="submit" class="product-order__footer-checkout-btn lsvr-button">To Checkout</button>
                                                        </p>
                                                        <!-- FOOTER CHECKOUT : end -->

                                                    </div>
                                                    <!-- ORDER FOOTER : end -->

                                                </form>
                                                <!-- PRODUCT CART : end -->

                                            </div>
                                        </div>
                                        <!-- PAGE : end -->

                                    </div>
                                </main>
                                <!-- MAIN : end -->

                            </div>
                        </div>
                    </div>
                    <!-- CORE COLUMNS : end -->

                </div>
            </div>
            <!-- CORE : end -->

            <!-- FOOTER : begin -->
            
            <%- html.footer %>

            <!-- FOOTER : end -->

        </div>
        <!-- WRAPPER : end -->

        <!-- SCRIPTS : begin -->
        <script src="assets/js/jquery-3.5.1.min.js" type="text/javascript"></script>
        <script src="assets/js/third-party-scripts.min.js" type="text/javascript"></script>
        <script src="assets/js/scripts.js" type="text/javascript"></script>
        <!-- SCRIPTS : end -->

    </body>
</html>

尽管设置了不同的操作属性并确保正确的方法属性,但内部表单似乎没有按预期工作。如何修改 HTML 结构以确保两个表单标签独立工作而不干扰彼此的功能?

任何见解或建议将不胜感激。谢谢!

javascript html ejs
1个回答
0
投票

以下代码片段说明了如何仅使用一个

<form>
和多个提交按钮,并让后端根据按下的按钮选择一项操作:

<form action="https://httpbin.org/anything" method="post">
  <input type="checkbox" name="product1"> Soup (Quantity <input name="quantity1" />)<br>
  <input type="checkbox" name="product2"> Soap (Quantity <input name="quantity2" />)<br>
  <input type="submit" name="action" value="Remove from cart">
  <input type="submit" name="action" value="Checkout">
</form>

按下“结帐”按钮会将如下值发送到后端:

{
  "action": "Checkout", 
  "quantity1": "2", 
  "quantity2": "3"
}

按“从购物车中删除”按钮会发送类似以下内容的信息:

{
  "action": "Remove from cart", 
  "product1": "on", 
  "quantity1": "2", 
  "quantity2": "3"
}
© www.soinside.com 2019 - 2024. All rights reserved.