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

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

在页面上点击按钮弹出多步骤框,可以使用模态框(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 文件,用于启用模态框功能和其他交互效果。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

少陽君

谢谢老板的拿铁

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值