提问者:小点点

如何使按钮在网页上显示表单


我有一个HTML页面。 在HTML页面上,有一个表格。 在此基础上,还有一个表导航栏,允许添加一个项目或添加一个库存。 当单击add item按钮时,我希望有一个表单显示在表上方,供用户填写相关字段以添加项目。 我现在遇到的麻烦是,当我单击add item时,表单只是将我的表向下推到页面底部。 有点像偷了它的地方然后把它挪到一边。 我不想这样。 我希望表单显示在表格的正上方。 我不在乎桌子是否需要消失,变得模糊不清或其他什么。 我还被要求尽可能多地使用bootstrap,所以您将在我的代码中看到它主要是bootstrap。 是的。这是上学用的。 我想使用JavaScript通过单击操作显示/隐藏表单和表,但我不知道如何做到这一点。 我对所有的建议都持开放态度。 代码在下面。

HTML:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
    <link rel="stylesheet" type="text/css" href="styles/test.css">
    <script src="https://kit.fontawesome.com/10c015ffd4.js" crossorigin="anonymous"></script>
    <title>Case Medical | Items List</title>
</head>

<body>
<!----------------------------------------------------------TOP-BAR---------------------------------------------------->
<nav class="navbar navbar-expand-sm top-bar">
    <div class="navbar-brand text-light">SCHOOL WORK</div>
    <div class="d-flex ml-auto">
        <span class="navbar-text d-none d-sm-block text-light">Hello,</span>
        <ul class="navbar-nav">
            <li class="nav-item">
                <a href="#" class="nav-link text-light ID-HOLDER">ME<i class="fas fa-chevron-down fa-fw d-none d-sm-inline-block"></i></a>
            </li>
            <li class="nav-item">
                <a href="#" class="nav-link"><i class="flex-nowrap fas fa-sign-out-alt fa-lg fa-fw"></i></a>
            </li>
        </ul>
    </div>
</nav>


<div class="container-fluid">
    <div class="row first-row">
<!--------------------------------------------------------SIDE-BAR----------------------------------------------------->
        <div class="col-4 col-lg-2 side-bar">
            <form class="form-inline d-flex justify-content-center md-form form-sm active-cyan-1 mt-4">
                <input class="form-control form-control-sm mr-3 w-75" type="text" placeholder="Search"
                       aria-label="Search">
                <i class="fas fa-search" aria-hidden="true"></i>
            </form>
            <ul class="nav flex-column mt-2 sticky-top">
                <li class="nav-item">
                    <a href="" class="nav-link">
                        <i class="fas fa-home fa-lg fa-fw side-icon" aria-hidden="true"></i>
                        <span class="side-text">Home</span>
                    </a>
                </li>
                <li class="nav-item">
                    <a href="" class="nav-link">
                        <i class="fas fa-paperclip fa-lg fa-fw side-icon" aria-hidden="true"></i>
                        <span class="side-text">Items</span>
                    </a>
                </li>
                <li class="nav-item">
                    <a href="" class="nav-link">
                        <i class="fas fa-box fa-lg fa-fw side-icon" aria-hidden="true"></i>
                        <span class="side-text">Inventory</span>
                    </a>
                </li>
                <li class="nav-item">
                    <a href="" class="nav-link">
                        <i class="fas fa-map-marked-alt fa-lg fa-fw side-icon" aria-hidden="true"></i>
                        <span class="side-text">Locations</span>
                    </a>
                </li>
                <li class="nav-item">
                    <a href="" class="nav-link">
                        <i class="fas fa-clipboard-list fa-lg fa-fw side-icon" aria-hidden="true"></i>
                        <span class="side-text">Inventory Orders</span>
                    </a>
                </li>
                <li class="nav-item">
                    <a href="#" class="nav-link">
                        <i class="fas fa-address-book fa-lg fa-fw side-icon" aria-hidden="true"></i>
                        <span class="side-text">Suppliers</span>
                    </a>
                </li>
            </ul>
        </div>
<!--------------------------------------------------------------------------------------------------------------------->
        <div class="col-8 col-lg-10 main-area">
<!---------------------------------------------------ITEMS NAV--------------------------------------------------------->

            <div class="row mt-3 mx-auto table-nav">
                <div class="col my-auto d-flex justify-content-end">
                    <span class="align-middle mr-auto text-white">Items List</span>
                    <button type="button" class="btn btn-dark" data-toggle="modal" data-target="#itemModal">
                        Add Item
                    </button>
                    <button class="btn btn-dark ml-2" type="button" data-toggle="collapse" data-target="#ADD-INVENTORY-FORM" aria-expanded="false" aria-controls="ADD-INVENTORY-FORM">
                        Add Inventory
                    </button>
                </div>
            </div>

<!---------------------------------------------------ITEMS MODAL------------------------------------------------------->

            <div class="modal fade" id="itemModal" tabindex="-1" role="dialog" aria-labelledby="itemModalLabel" aria-hidden="true">
                <div class="modal-dialog">
                    <div class="modal-content">

                        <div class="modal-header">
                            <h5 class="modal-title" id="itemModalLabel">Add New Item</h5>
                            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                                <span aria-hidden="true">&times;</span>
                            </button>
                        </div>

                        <div class="modal-body">
                            <form>
                                <div class="form-row">
                                    <div class="form-group col-6">
                                        <input type="text" class="form-control" id="ID-NUMBER" placeholder="ID">
                                    </div>

                                    <div class="form-group col-6">
                                        <input type="text" class="form-control" id="UDI-NUMBER" placeholder="UDI">
                                    </div>
                                </div>

                                <div class="form-group">
                                    <input type="text" class="form-control" id="NAME" placeholder="Name">
                                </div>

                                <div class="custom-file mb-3">
                                    <input type="file" class="custom-file-input" id="IMAGE-UPLOAD">
                                    <label class="custom-file-label" for="IMAGE-UPLOAD">Image Upload</label>
                                </div>

                                <div class="form-group">
                                    <textarea class="form-control" id="DESCRIPTION" rows="3" placeholder="Description"></textarea>
                                </div>

                                <div class="form-group">
                                    <input type="text" class="form-control" id="DIMENSIONS" placeholder="Dimensions">
                                </div>

                                <div class="form-group">
                                    <input type="text" class="form-control" id="PRICE" placeholder="Price (USD)">
                                </div>

                                <div class="input-group mb-3">
                                    <input type="text" class="form-control" placeholder="Category">
                                    <div class="input-group-append">
                                        <button class="btn btn-dark" type="button" data-toggle="modal" data-target="#itemSelectModal">Select Category</button>
                                    </div>
                                </div>

                                <div class="form-row">
                                    <div class="form-group col-6">
                                        <input type="text" class="form-control" id="LOCATION-NAME" placeholder="Location Name">
                                    </div>

                                    <div class="form-group col-6">
                                        <input type="text" class="form-control" id="LOCATION-ID" placeholder="Location-ID">
                                    </div>
                                </div>

                                <div class="form-row">
                                    <div class="form-group col-6">
                                        <input type="text" class="form-control" id="ROOM" placeholder="Room">
                                    </div>

                                    <div class="form-group col-6">
                                        <input type="text" class="form-control" id="Shelf" placeholder="Shelf">
                                    </div>
                                </div>

                                <div class="form-row">
                                    <div class="form-group col-6">
                                        <input type="text" class="form-control" id="CABINET" placeholder="Cabinet">
                                    </div>

                                    <div class="form-group col-6">
                                        <input type="text" class="form-control" id="BIN" placeholder="Bin">
                                    </div>
                                </div>

                                <button class="btn btn-dark LOCATION-BUTTON mb-3" type="button">Select Location</button>

                                <div class="input-group mb-3">
                                    <input type="text" class="form-control" placeholder="Supplier">
                                    <div class="input-group-append">
                                        <button class="btn btn-dark" type="button">Select Supplier</button>
                                    </div>
                                </div>

                            </form>
                        </div>

                        <div class="modal-footer">
                            <button type="button" class="btn btn-dark" data-dismiss="modal">Back</button>
                            <button type="button" class="btn btn-success">Save</button>
                        </div>
                    </div>

                </div>
            </div>
<!-------------------------------------------------- CATEGORY MODAL --------------------------------------------------->

            <div class="modal fade" id="itemSelectModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
                <div class="modal-dialog">
                    <div class="modal-content">
                        <div class="modal-header">
                            <h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
                            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                                <span aria-hidden="true">&times;</span>
                            </button>
                        </div>
                        <div class="modal-body">
                            ...
                        </div>
                        <div class="modal-footer">
                            <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
                            <button type="button" class="btn btn-primary">Save changes</button>
                        </div>
                    </div>
                </div>
            </div>

<!---------------------------------------------------ITEMS TABLE------------------------------------------------------->

            <div class="container table-container p-0">
                <table class="table table-light mt-3 mx-auto table-striped table-hover items-table">
                    <thead>
                    <tr>
                        <th scope="col">Image</th>
                        <th scope="col">ID #</th>
                        <th scope="col">Name</th>
                        <th scope="col">Category</th>
                        <th scope="col">Default Location</th>
                        <th scope="col">Actions</th>
                    </tr>
                    </thead>
                    <tbody>
                    <tr>
                        <td></td>
                        <td>#</td>
                        <td>A</td>
                        <td>B</td>
                        <td>C</td>
                        <td>
                            <div class="dropdown">
                                <button class="btn p-0 m-0 actions" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                    ...
                                </button>
                                <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
                                    <a class="dropdown-item" href="#">View</a>
                                    <a class="dropdown-item" href="#">Edit</a>
                                    <a class="dropdown-item" href="#">Delete</a>
                                </div>
                            </div>
                        </td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>#</td>
                        <td>A</td>
                        <td>B</td>
                        <td>C</td>
                        <td>
                            <div class="dropdown">
                                <button class="btn p-0 m-0 actions" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                    ...
                                </button>
                                <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
                                    <a class="dropdown-item" href="#">View</a>
                                    <a class="dropdown-item" href="#">Edit</a>
                                    <a class="dropdown-item" href="#">Delete</a>
                                </div>
                            </div>
                        </td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>#</td>
                        <td>A</td>
                        <td>B</td>
                        <td>C</td>
                        <td>
                            <div class="dropdown">
                                <button class="btn p-0 m-0 actions" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                    ...
                                </button>
                                <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
                                    <a class="dropdown-item" href="#">View</a>
                                    <a class="dropdown-item" href="#">Edit</a>
                                    <a class="dropdown-item" href="#">Delete</a>
                                </div>
                            </div>
                        </td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>#</td>
                        <td>A</td>
                        <td>B</td>
                        <td>C</td>
                        <td>
                            <div class="dropdown">
                                <button class="btn p-0 m-0 actions" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                    ...
                                </button>
                                <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
                                    <a class="dropdown-item" href="#">View</a>
                                    <a class="dropdown-item" href="#">Edit</a>
                                    <a class="dropdown-item" href="#">Delete</a>
                                </div>
                            </div>
                        </td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>#</td>
                        <td>A</td>
                        <td>B</td>
                        <td>C</td>
                        <td>
                            <div class="dropdown">
                                <button class="btn p-0 m-0 actions" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                    ...
                                </button>
                                <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
                                    <a class="dropdown-item" href="#">View</a>
                                    <a class="dropdown-item" href="#">Edit</a>
                                    <a class="dropdown-item" href="#">Delete</a>
                                </div>
                            </div>
                        </td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>#</td>
                        <td>A</td>
                        <td>B</td>
                        <td>C</td>
                        <td>
                            <div class="dropdown">
                                <button class="btn p-0 m-0 actions" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                    ...
                                </button>
                                <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
                                    <a class="dropdown-item" href="#">View</a>
                                    <a class="dropdown-item" href="#">Edit</a>
                                    <a class="dropdown-item" href="#">Delete</a>
                                </div>
                            </div>
                        </td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>#</td>
                        <td>A</td>
                        <td>B</td>
                        <td>C</td>
                        <td>
                            <div class="dropdown">
                                <button class="btn p-0 m-0 actions" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                    ...
                                </button>
                                <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
                                    <a class="dropdown-item" href="#">View</a>
                                    <a class="dropdown-item" href="#">Edit</a>
                                    <a class="dropdown-item" href="#">Delete</a>
                                </div>
                            </div>
                        </td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>#</td>
                        <td>A</td>
                        <td>B</td>
                        <td>C</td>
                        <td>
                            <div class="dropdown">
                                <button class="btn p-0 m-0 actions" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                    ...
                                </button>
                                <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
                                    <a class="dropdown-item" href="#">View</a>
                                    <a class="dropdown-item" href="#">Edit</a>
                                    <a class="dropdown-item" href="#">Delete</a>
                                </div>
                            </div>
                        </td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>#</td>
                        <td>A</td>
                        <td>B</td>
                        <td>C</td>
                        <td>
                            <div class="dropdown">
                                <button class="btn p-0 m-0 actions" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                    ...
                                </button>
                                <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
                                    <a class="dropdown-item" href="#">View</a>
                                    <a class="dropdown-item" href="#">Edit</a>
                                    <a class="dropdown-item" href="#">Delete</a>
                                </div>
                            </div>
                        </td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>#</td>
                        <td>A</td>
                        <td>B</td>
                        <td>C</td>
                        <td>
                            <div class="dropdown">
                                <button class="btn p-0 m-0 actions" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                    ...
                                </button>
                                <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
                                    <a class="dropdown-item" href="#">View</a>
                                    <a class="dropdown-item" href="#">Edit</a>
                                    <a class="dropdown-item" href="#">Delete</a>
                                </div>
                            </div>
                        </td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>#</td>
                        <td>A</td>
                        <td>B</td>
                        <td>C</td>
                        <td>
                            <div class="dropdown">
                                <button class="btn p-0 m-0 actions" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                    ...
                                </button>
                                <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
                                    <a class="dropdown-item" href="#">View</a>
                                    <a class="dropdown-item" href="#">Edit</a>
                                    <a class="dropdown-item" href="#">Delete</a>
                                </div>
                            </div>
                        </td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>#</td>
                        <td>A</td>
                        <td>B</td>
                        <td>C</td>
                        <td>
                            <div class="dropdown">
                                <button class="btn p-0 m-0 actions" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                    ...
                                </button>
                                <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
                                    <a class="dropdown-item" href="#">View</a>
                                    <a class="dropdown-item" href="#">Edit</a>
                                    <a class="dropdown-item" href="#">Delete</a>
                                </div>
                            </div>
                        </td>
                    </tr>
                    </tbody>
                </table>
            </div>
        </div>
<!--------------------------------------------------------------------------------------------------------------------->
    </div>
</div>

<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>
</body>
</html>

CSS:

html, body {
    height: 100vh;
}

/**********************************************************************************************************************/
/***************************************************** TOP BAR ********************************************************/

.top-bar {
    background: #478CA4;
}
.fa-sign-out-alt {
    color: #FFFFFF;
}

/**********************************************************************************************************************/
/**************************************************** SIDE BAR ********************************************************/

.side-icon, .side-text {
    color: #4D4D4D;
}
.side-bar {
    background: #E1E1E1;
    height: available;
}
.first-row {
    height: 100vh;
}
.side-text:hover {
    color: #478CA4;
}


/**********************************************************************************************************************/
/************************************************** ITEMS TABLE *******************************************************/

.main-area {
    height: available;
    width: 100%;
}
.table-nav {
    background: #478CA4;
    width:100%;
    height: 60px;
}
.table-container {
    height: 600px;
    overflow-y: scroll;
}
.add-inventory-button, .add-item-button{
    background: #36788F;
}

/**********************************************************************************************************************/

共1个答案

匿名用户

有多种方法。 您所描述的是一个经典的“模态”特性。

>

  • 最简单的方法可能是(正如评论中提到的):使用引导模式。

    您可以使用display:none隐藏窗体; 和显示:继承; 表单应在何时显示。 您可以使用document.getElementById(“formId”)。classList.add(“Open”)向表单添加类; 然后在css中添加样式:

    。打开{display:inherit;position:fixed;top:50%;left:50%;transform:translatX(-50%)translateY(-50%);z-index:1;}

    更复杂:创建您自己的模态组件,它可以将您的表单显示为嵌套组件。

    如果您可以共享一个Codepen或Codesandbox,那么帮助您就会更容易。