Bootstrap框架模态框(Modal)中的多步骤表单

avatar
作者
猴君
阅读量:0

这是一个多步骤表单的变种,通过模态框(也称为弹出框或对话框)呈现。模态框是一种覆盖在当前页面上的浮动窗口,用于显示重要信息或提示用户进行操作。在这个例子中,多步骤表单被嵌入到模态框中,用户点击页面上的按钮后弹出模态框显示表单。

在页面上点击按钮弹出多步骤框,可以使用模态框(Modal)来实现。这种方式可以通过Bootstrap的模态框组件结合JavaScript来完成。

<!DOCTYPE html> <html lang="en"> <head>   <meta charset="UTF-8">   <meta name="viewport" content="width=device-width, initial-scale=1.0">   <title>Multi-step Form Modal Example</title>   <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet"> </head> <body>   <div class="container mt-5">     <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#multiStepModal">       Open Multi-step Form     </button>   </div>    <!-- Multi-step Modal -->   <div class="modal fade" id="multiStepModal" tabindex="-1" aria-labelledby="multiStepModalLabel" aria-hidden="true">     <div class="modal-dialog">       <div class="modal-content">         <div class="modal-header">           <h5 class="modal-title" id="multiStepModalLabel">Multi-step Form</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 id="step1">             <h5>Step 1</h5>             <p>Enter your name:</p>             <input type="text" class="form-control mb-3" placeholder="Name">             <button class="btn btn-primary" onclick="showStep(2)">Next</button>           </div>           <div id="step2" style="display: none;">             <h5>Step 2</h5>             <p>Enter your email:</p>             <input type="email" class="form-control mb-3" placeholder="Email">             <button class="btn btn-secondary" onclick="showStep(1)">Previous</button>             <button class="btn btn-primary" onclick="showStep(3)">Next</button>           </div>           <div id="step3" style="display: none;">             <h5>Step 3</h5>             <p>Review and Submit:</p>             <button class="btn btn-secondary" onclick="showStep(2)">Previous</button>             <button class="btn btn-success">Submit</button>           </div>         </div>       </div>     </div>   </div>    <script>     function showStep(step) {       document.getElementById('step1').style.display = 'none';       document.getElementById('step2').style.display = 'none';       document.getElementById('step3').style.display = 'none';       document.getElementById('step' + step).style.display = 'block';     }   </script>    <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>   <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.2/dist/js/bootstrap.bundle.min.js"></script> </body> </html> 

代码解析

  1. 触发按钮

    • 使用一个按钮 <button>,点击时会打开模态框。按钮的 data-toggle="modal"data-target="#multiStepModal" 属性指定了要打开的模态框。
  2. 模态框结构

    • 使用 Bootstrap 的模态框组件来创建一个多步骤的弹出框。模态框的 idmultiStepModal,与按钮的 data-target 属性对应。
    • 模态框内部分为标题区域(modal-header)、内容区域(modal-body)和底部区域(modal-footer,此处没有使用)。
  3. 步骤内容

    • 每个步骤的内容放在 <div> 元素中,初始状态下除了第一个步骤,其他步骤都被隐藏 (display: none)。
    • showStep(step) 函数用于控制步骤的显示和隐藏。每次调用该函数时,都会隐藏所有步骤,然后显示指定的步骤。
  4. 脚本和样式

    • 包含 jQuery 和 Bootstrap 的 JavaScript 文件,用于启用模态框功能和其他交互效果。

通过这种方式,在用户点击按钮时弹出一个模态框,其中包含多步骤的表单或其他内容。您还可以进一步自定义样式和功能,以适应具体的需求。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!