首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在成功提交表单后发送ajax请求(联系表单7),并在选项卡中包含多个Bootstrap 5

选项卡是一个常见的界面元素,用于在页面上切换显示不同内容。Bootstrap 5是一个流行的CSS框架,提供了选项卡组件来实现这个功能。在成功提交表单后发送ajax请求并在选项卡中包含多个Bootstrap 5的实现步骤如下:

  1. 首先,确保你已经引入了Bootstrap 5的CSS和JavaScript文件。
  2. 在HTML中创建一个包含选项卡的容器,使用<ul>标签和类名nav nav-tabs来创建选项卡的导航栏。
  3. 在导航栏中创建每个选项卡的标签,使用<li>标签和类名nav-item来创建每个选项卡的项。
  4. 在每个选项卡项中创建一个链接,使用<a>标签和类名nav-link来创建链接。
  5. 在每个链接中添加一个data-bs-toggle属性并设置为tab,以指定链接的作用是切换选项卡内容。
  6. 在每个链接中添加一个data-bs-target属性并设置为对应选项卡内容的ID,以指定链接关联的选项卡。
  7. 在容器中创建选项卡内容的容器,使用<div>标签和类名tab-content来创建选项卡的内容区域。
  8. 在内容容器中创建每个选项卡的内容,使用<div>标签和类名tab-pane来创建每个选项卡的内容项。
  9. 在每个内容项中添加一个id属性,并设置为与对应链接中的data-bs-target属性相同的值,以实现选项卡和内容的关联。
  10. 在每个内容项中添加表单,使用<form>标签来创建表单。
  11. 在表单中添加需要的输入字段和提交按钮。
  12. 在表单中添加一个提交事件处理程序,使用JavaScript代码监听表单的提交事件。
  13. 在表单的提交事件处理程序中,阻止表单的默认提交行为,并使用ajax方法发送异步请求。
  14. 在异步请求的成功回调函数中,使用jQuery或其他JavaScript库更新选项卡内容。

下面是一个示例代码:

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Ajax请求和选项卡</title>
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css">
</head>
<body>

  <div class="container">
    <ul class="nav nav-tabs">
      <li class="nav-item">
        <a class="nav-link active" data-bs-toggle="tab" data-bs-target="#tab1">选项卡1</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" data-bs-toggle="tab" data-bs-target="#tab2">选项卡2</a>
      </li>
    </ul>

    <div class="tab-content">
      <div class="tab-pane fade show active" id="tab1">
        <form id="form1">
          <!-- 表单内容 -->
          <input type="text" name="name" placeholder="姓名">
          <input type="email" name="email" placeholder="邮箱">
          <button type="submit">提交</button>
        </form>
      </div>
      <div class="tab-pane fade" id="tab2">
        <form id="form2">
          <!-- 表单内容 -->
          <input type="text" name="name" placeholder="姓名">
          <input type="tel" name="phone" placeholder="电话">
          <button type="submit">提交</button>
        </form>
      </div>
    </div>
  </div>

  <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.min.js"></script>

  <script>
    $(document).ready(function() {
      // 监听表单的提交事件
      $("#form1").submit(function(event) {
        event.preventDefault(); // 阻止表单的默认提交行为

        // 发送ajax请求
        $.ajax({
          url: "处理表单的后端API地址",
          type: "POST",
          data: $(this).serialize(), // 获取表单数据
          success: function(response) {
            // 处理请求成功的响应
            // 更新选项卡内容
            $("#tab1").html(response);
          },
          error: function(xhr) {
            // 处理请求失败的情况
            console.log(xhr.responseText);
          }
        });
      });

      // 监听表单的提交事件
      $("#form2").submit(function(event) {
        event.preventDefault(); // 阻止表单的默认提交行为

        // 发送ajax请求
        $.ajax({
          url: "处理表单的后端API地址",
          type: "POST",
          data: $(this).serialize(), // 获取表单数据
          success: function(response) {
            // 处理请求成功的响应
            // 更新选项卡内容
            $("#tab2").html(response);
          },
          error: function(xhr) {
            // 处理请求失败的情况
            console.log(xhr.responseText);
          }
        });
      });
    });
  </script>

</body>
</html>

这个示例代码演示了如何在成功提交表单后发送ajax请求并在选项卡中包含多个Bootstrap 5的实现方法。你可以根据具体需求进行适当的修改和扩展。同时,需要注意的是,在实际开发中,你需要替换示例代码中的"处理表单的后端API地址"为你自己的后端API地址,并根据需要修改和处理异步请求的响应。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

创建联系表单页面并通过 Ajax 提交表单请求数据

回顾下上篇教程更新主题的博客系统,可以看到顶部右上角导航菜单有两个链接,分别指向关于页面和联系表单页面: ?...对于联系表单页面,需要分两块处理,首先是渲染联系表单,这是一个 GET 请求: // 联系表单页面 public function contact() { if ($this->request...3、提交表单请求 在上面的视图模板,可以看到最后额外引入了 /js/contact.js 文件,这个文件是联系表单页面需要额外用到的 JavaScript 脚本文件,目前还不存在,需要编写对应的前端处理代码...代码处理表单数据的异步提交Ajax 请求),关于代码实现细节就不展开介绍了,重点关注 submitSuccess 的情况下,$.ajax({...})...4、访问联系表单页面 完成以上工作,在项目根目录下的 webpack.mix.js 添加 contact.js 编译代码: mix.js('resources/js/app.js', 'public

2.3K50

jQuery基础(五)一Ajax应用与常用插件-imooc

方式从服务器获取数据  1-5 使用post()方法以POST方式从服务器发送数据  1-6 使用serialize()方法序列化表单元素值  1-7 使用ajax()方法加载服务器数据  1-8 使用...可选项data参数为请求发送的数据,callback参数为数据请求成功,执行的回调函数 例如,点击页面的“加载”按钮,调用getJSON() 方法获取服务器JSON格式文件的数据,并遍历数据...selector).serialize() 其中selector参数是一个或多个表单的元素或表单元素本身 例如,在表单添加多个元素,点击“序列化”按钮,调用serialize()方法,将表单中元素全部序列化...为服务器返回的数据类型,success为请求成功的执行的回调函数,type为发送数据请求的方式,默认为get 例如,点击页面的“加载”按钮,调用ajax()方法向服务器请求加载一个txt文件,当请求成功时调用...请求前执行ajaxStart()方法绑定的函数,请求成功,执行ajaxStop ()方法绑定的函数 例如,由于使用ajaxStart()和ajaxStop()方法绑定了动画元素,因此,在开始发送Ajax

16.5K20
  • 2021年电商基础面试总结「建议收藏」

    ,分别显示出来 5、完成商品属性的添加:前提将商品属性表设计好,然后根据实际的静态页面进行表单的修改,修改指定表单的域名(即标签的 name),修改完成在 Goods 模型里定义一个钩子_after_insert...在 user 模型添加数据验证,返回数据. 在控制器完成注册发送邮件: 邮件发送,由用户进行激活认证,因此在控制器中新建 active 方法。...在现代 Web 应用程序开发,有一个非常常见的情况,就是使用 AJAX 技术在同一个页面内发送多个请求获取数据。...最后在购物车控制器里面的 cartList 的方法,并取出购物车数据,并在对应的静态页面里完成遍历,显示出来 5、cookie 移到 DB :用户登录,要判断 cookie 里面是否有购物车数据,...open 方法: xhr.open(‘get’,’demo.php’,true)open 方法,第三个参数表示是异步请求,默认 true 表示异步请求处理 22.什么是 Bootstrap

    2.7K30

    【全栈修炼】CORS和CSRF修炼宝典

    布尔值,表示是否允许在 CORS 请求之中发送 `Cookie` 。若不携带 `Cookie` 则不需要设置该字段。 当设置为 `true` 则 `Cookie` 包含请求,一起发送给服务器。...还需要在 AJAX 请求开启 `withCredentials` 属性,否则浏览器也不会发送 `Cookie` 。...> ``` 在表单里增加Hash值,以认证这确实是用户发送请求。 ```php <?php $hash = md5($_COOKIE['cookie']); ?...考虑一下如果每次表单被装入时站点生成一个伪随机值来覆盖以前的伪随机值将会发生什么情况:用户只能成功提交他最后打开的表单,因为所有其他的表单都含有非法的伪随机值。...必须小心操作以确保CSRF保护措施不会影响选项卡式的浏览或者利用多个浏览器窗口浏览一个站点。 php 实现如下: 1.

    1.8K00

    利用动态注入HTML的方式来设计复杂页面

    QueryFormPartial.cshtml定义了一个以Ajax方式提交表单,目标Action为具有如下定义的Find,它根据指定的First Name和Last Name筛选匹配的联系人列表,并将其呈现在一个名为...tr> 25: } 26: 27: 从QueryFormPartial.cshtml的定义可以看到,表单成功提交之后会调用一个名为...的定义可以看到联系人ID以一个链接的方式呈现出来,点击该链接会以Ajax的方式访问Action方法Update,当前联系人ID会作为请求的参数(@Ajax.ActionLink(contact.Id... 五、联系人信息的最终修改 通过ContactPartial.cshtml的定义可以看出编辑联系表单最终以POST的方式提交到HomeController的Action方法Update...8: contacts.Add(contact); 9: return "OK"; 10: } 11: } 联系人修改表单提交关闭当前窗口并加载新的数据通过具有如下定义

    3.5K20

    jquery的form表单提交

    在回调函数,我们阻止了表单的默认提交行为,通过serialize()方法获取表单数据,并使用$.ajax()方法向服务器发送POST请求提交表单数据。...通过serialize()方法获取表单数据,并使用$.ajax()方法向服务器发送POST请求。当提交成功时,通过success回调函数来显示“注册成功”信息,并重置表单。...Form表单包含在和标签之间的多个表单元素组成。用户可以在表单输入文本、选择选项、上传文件等,然后通过表单提交按钮将这些数据发送给服务器。...htmlCopy code当用户填写完表单,通过点击提交按钮,浏览器会将表单的数据封装成一个HTTP请求,然后发送给服务器...服务器接收到请求,可以对这些数据进行处理,存储到数据库、发送电子邮件等。

    13210

    【ASP.NET Core 基础知识】--MVC框架--Views和Razor语法

    五、Views表单处理 5.1 HTML表单基础 HTML表单是一种用于收集用户输入的元素,它允许用户通过输入框、下拉菜单、单选按钮等方式向服务器提交数据。... 元素有以下常见属性: action: 指定表单数据提交到的服务器端URL。 method: 指定用于发送表单数据的HTTP方法,常见的有 “GET” 和 “POST”。...5.3 表单验证和处理 在ASP.NET Core表单验证和处理是Web应用程序的关键部分。ASP.NET Core提供了内置的模型验证和处理机制,可以方便地处理用户提交表单数据。...请求与Razor结合 使用JavaScriptAjax请求与后端的Razor动作方法交互是常见的需求。...当按钮被点击时,通过Ajax请求表单数据发送到后端的Razor动作方法 Login。

    44120

    科普系列——如何解释什么是 AJAX

    在这三种方式,除了第三种,其他两种方式想要发送一个请求,就必须要刷新页面,如果页面只有展示内容的话刷新一下自然无所谓,但倘若一个页面有很多的表单内容需要填写,而你在最后填写完成提交的时候才告诉你,其中某一个地方不符合要求...通过该接口,浏览器可以向服务器发送请求并取回所需的数据,并在客户端采用 JavaScript 处理来自服务器的回应。这就是 AJAX 的前身。...("Microsoft.XMLHTTP"); } 监听请求成功的状态变化 request.onreadystatechange = function() { if (this.readyState...() { //设置请求路径 var url = "XXXXXX"; // 发送请求:将数据返回到一个回到函数 // 并且响应成功以后会执行then方法的回调函数...我们看到了很长的一段JSON数据,格式化(这里我们可以直接切换到Preview选项卡)筛选出一部分可以看到: ? 是不是刚才那个页面里面的东西都在这里面呢?

    84920

    python接口自动化(十)--post请求四种传送正文方式(详解)

    分清两者 2、浏览器提交表单时,会执行如下步骤 1 识别出表单表单元素的有效项,作为提交项 2 构建一个表单数据集 3 根据form表单的enctype属性的值作为content-type对数据进行编码...4 根据form表单的action属性和method属性向指定的地址发送数据 3、提交方式 1 get:表单数据会被encodeURIComponent以参数的形式:name1=value1&name2...后面,再发送给服务器,并在url显示出来。...实际上,开发者完全可以自己决定消息主体的格式,只要最后发送的 HTTP 请求满足上面的格式就可以。 但是,数据发送出去,还要服务端解析成功才有意义。...Google 的 AngularJS Ajax 功能,默认就是提交 JSON 字符串。

    3.2K51

    【全栈修炼】414- CORS和CSRF修炼宝典

    布尔值,表示是否允许在 CORS 请求之中发送 Cookie 。若不携带 Cookie 则不需要设置该字段。 当设置为 true 则 Cookie 包含请求,一起发送给服务器。...还需要在 AJAX 请求开启 withCredentials 属性,否则浏览器也不会发送 Cookie 。...> 在表单里增加Hash值,以认证这确实是用户发送请求。 <?php $hash = md5($_COOKIE['cookie']); ?...考虑一下如果每次表单被装入时站点生成一个伪随机值来覆盖以前的伪随机值将会发生什么情况:用户只能成功提交他最后打开的表单,因为所有其他的表单都含有非法的伪随机值。...必须小心操作以确保CSRF保护措施不会影响选项卡式的浏览或者利用多个浏览器窗口浏览一个站点。

    2.9K40

    什么是AJAX

    发送一个请求,客户端需要确定这个请求什么时候会完成,因此,XMLHttpRequest对象提供了 onreadystatechange //事件机制来捕获请求的状态,继而实现响应。...,对话框又是链接的另外的html页面,如此通过$(“#formid”)的方式是找不到对话框的form的,因此这种情况下只能使用这种方式提交表单。...另外ajax中封装的get,post请求也都属于有返回结果的一类。 总的来说,无返回结果的和有返回结果的(将form表单数据序列化+通过窗口实现form提交),form表单都必须要有name属性。...在jQueryAjax常见的请求方式主要有一下4种: 1、$.ajax()返回其创建的 XMLHttpRequest 对象。...相比于复杂的$.ajax而言,GET请求功能则显得更加简单,请求成功时可调用回调函数。当然如果需要在出错时执行函数,那么还请使用$.ajax

    1.7K20

    PHP 后端表单验证和请求处理

    创建好前端的联系表单视图,接下来,我们来编写提交表单后端的 PHP 处理逻辑。...这里,对于用户名和消息内容,我们还调用了 filter_var 方法,并在第二个参数传入「消毒」过滤器常量参数对其进行处理,以避免字符串包含 HTML 标签,出现 XSS 攻击隐患。...消息保存成功,我们通过 Response 对象发送响应给客户端。 异常响应处理 在测试表单请求处理逻辑之前,我们来介绍下对异常响应的处理。...至此,我们就完成了 POST 表单请求的所有后端处理逻辑,在浏览器打开联系表单页面,如果输入了错误的手机号,会返回对应的验证错误消息: ?...如果所有表单数据都通过验证,则会看到消息发送成功提示: ? 当然,这里还有可以优化的地方,比如,在请求数据验证失败,返回提交请求数据填充对应的输入框,以免用户重新输入。

    2.6K30

    springboot展示页面(及关于ajax页面不跳转问题)

    /\u7ed3\u5c3e web.upload-path=....的success的方法window.location,href跳转不起作用; 原因: 因为有提交了一次表单。...你的ajax是同步的,所以提交表单动作被挂起直到ajax完毕(此时执行请求过一次服务器),表单提交,这样就会执行页面指定的action的地址, 而ajax回调success href的链接赋值不成功...参考网络上的说明:你点击了submit,它会提交表单,但是由于你用了ajax的同步操作,submit的提交被阻塞,ajax先执行,这个时候,如果你在ajax的回调函数(:success)写了document.location.href...='xxx.html',它是执行了,的确是去执行了跳转的,于是ajax完成了,那接下来就要把刚才的submit提交请求完成。

    2K30

    SSM整合案例

    、多选框中被选中的状态 springmvc两篇好文 占位符参数也会尝试去绑定函数同名参数或者对象同名属性 ajax可以直接发送put和delete请求 ajax发送put请求引发的血案 问题: 使用...ajax直接发送put请求,封装的数据值为null 原因,这里也揭示了参数绑定的原理 血案: 注意如果不是直接使用ajax发送put请求,而是下面这种: 直接通过ajax发送put请求的解决方案: 删除员工...---- 血案: ---- 注意如果不是直接使用ajax发送put请求,而是下面这种: ---- 直接通过ajax发送put请求的解决方案: 解决方案:在web.xml配置spring提供的过滤器解决...,那么它的用户名校验状态就是合法的,那么直接再次提交,也不会发送ajax请求进行用户名校验 //这样就会造成人员重复添加的问题,因此这里每一次点击新增按钮,弹出模态对话框的时候,对表单进行清除操作...,例如给删除按钮增添一个自定义属性保存当前员工的id,方便一会通过在按钮点击事件获取到id值,从而通过ajax返回给服务器端,进行删除逻辑操作 使用ajax时,在获取到服务器端发送来的数据,可以在成功的回调函数

    4.1K21

    Django学习笔记之Ajax与文件上传

    同步交互:客户端发出一个请求,需要等待服务器响应结束,才能发出第二个请求; 异步交互:客户端发出一个请求,无需等待服务器响应结束,就可以发出第二个请求。...AJAX除了异步的特点外,还有一个就是:浏览器页面局部刷新;(这一特点给用户的感受是在不知不觉完成请求和响应过程) 场景: ?...优点: AJAX使用Javascript技术向服务器发送异步请求 AJAX无须刷新整个页面 基于jquery的Ajax实现 send_Ajax</button...-服务器-Ajax流程图 略 Ajax应用案例 1 用户名是否已被注册 在注册表单,当用户填写了用户名,把光标移开,会自动向服务器发送异步请求。...2 基于Ajax进行登录验证  用户在表单输入用户名与密码,通过Ajax提交给服务器,服务器验证返回响应信息,客户端通过响应信息确定是否登录成功成功,则跳转到首页,否则,在页面上显示相应的错误信息。

    1.6K10

    Laravel 表单方法伪造与 CSRF 攻击防护

    POST:向指定资源提交数据,请求服务器进行处理,表单数据提交、文件上传等,请求数据包含请求。POST 方法是非幂等的方法,因为这个请求可能会创建新的资源或修改现有资源。...答案是通过表单方法伪造,下面我们就来介绍如何在 Laravel 中进行表单方法伪造。...表单请求方法伪造 要告知 Laravel 当前提交表单使用的是 GET/POST 之外的其他请求方式,需要在表单添加一个名为 _method 的隐藏字段,字段值是「PUT」、「DELETE」或 「PATCH...submit">删除任务 '; }); 这样我们再次访问 http://blog.test/task/1/delete 页面点击「删除任务」按钮,即可成功提交表单...注:如果你使用了 Laravel 自带的 assets/js/bootstrap.js, 则上述 Vue 请求头设置不需要自己编写,因为 bootstrap.js 已经包含了这个逻辑。

    8.7K40

    密码学系列之:csrf跨站点请求伪造

    因为对于web浏览器来说,它们将在发送给该域的任何Web请求自动且无形地包含给定域使用的任何cookie。...如果用户被诱骗通过浏览器无意中提交请求,这些自动包含的cookie将使伪造也能够通过目标服务器的认证,从而产生恶意攻击。...STP是兼容性最好的,因为它仅依赖HTML,但是每个请求都带上token会增加程序的复杂性, 由于token是唯一且不可预测的,因此还会强制执行适当的事件顺序,这会引发一些可用性的问题(例如用户打开多个选项卡...提交表单,站点可以检查cookie令牌是否与表单令牌匹配。 同源策略可防止攻击者在目标域上读取或设置Cookie,因此他们无法以其精心设计的形式放置有效令牌。...有些浏览器扩展程序CsFire扩展(也适用于Firefox)可以通过从跨站点请求删除身份验证信息,从而减少对正常浏览的影响。

    2.5K20

    09.Django基础七之Ajax

    技术向服务器发送异步请求;       2.AJAX请求无须刷新整个页面;       3.因为服务器响应内容不再是整个页面,而是页面的部分内容,所以AJAX性能高; 5.作业     ...验证码:用户提交的每一个表单中使用一个随机验证码,让用户在文本框填写图片上的随机字符串,并且在提交表单对其进行检测。...练习(用户名是否已被注册) 功能介绍       在注册表单,当用户填写了用户名,把光标移开,会自动向服务器发送异步请求。服务器返回这个用户名是否已经被注册过。...当input标签失去焦点获取 username表单字段的值,向服务端发送AJAX请求; django的视图函数处理该请求,获取username值,判断该用户在数据库是否被注册,如果被注册了就返回“...= '域名' 或 '*' 支持跨域,复杂请求     由于复杂请求时,首先会发送“预检”请求,如果“预检”成功,则发送真实数据。

    3.6K20

    C# HTTP系列10 form表单的enctype属性

    系列目录 【已更新最新开发文章,点击查看详细】 在ASP.NET编程中经常遇到下面的代码片段,将人员信息以表单方式提交到后台程序并保存到服务器与数据库。..."/> 5 enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码。...实际上,开发者完全可以自己决定消息主体的格式,只要最后发送的 HTTP 请求满足上面的格式就可以。但是,数据发送出去,还要服务端解析成功才有意义。... 6 7 此点击【提交】按钮,Form提交请求数据,Fiddler抓包时看到的请求如下...实际上,现在越来越多的人把它作为请求头,用来告诉服务端消息主体是序列化的 JSON 字符串。

    1.1K40
    领券