数据表复选框没有获得价值

2024-03-30

长话短说,所以我尝试使用“POST”来获取我的 Flask 模板中的复选框值。但是,我在模板中的数据表(数据表按钮)中使用了一些动态表。这些数据表导致我的发布请求不起作用。 (在不使用数据表的情况下,如果它只是一个很长的常规表,那么我的发布请求将起作用)

将 DataTable Checkboxes 值解析为 POST 请求的正确方法是什么?有谁知道我的数据表定义有什么问题?

非常感谢!

在烧瓶中:

def project():
   if request.method=="POST":
     selected_tags=request.form.getlist('table_records')

带 Flask 模板的 HTML:

   <form action="" method="post">

   <button type="submit" name="Compare" value="Compare" class="btn-link">Compare</button>

   <table id="datatable-buttons" class="table table-striped table-bordered bulk_action">
     <thead>
          <tr>
            <th><input type="checkbox" id="check-all" class="flat"></th>
            <th>Tag</th>
            <th>Release date</th>
            <th>Number of Blocks</th>
          </tr>
     </thead>



{% for each_run in all_runs %}
          <tr>
             <td><input type="checkbox" class="flat" name="table_records[]" value="{{each_run.tag}}"></td>
             <td class=" "><a href= "{{url_for('skybolt_synthesis_tag',tag=each_run.tag)}}"> {{each_run.tag}}</a></td>
             <td>{{each_run.start_time}}</td>
             <td>{{block_count[each_run.tag]}}</td>
             </tr>
{% endfor %}
    </form>

数据表组件

$(document).ready(function() {
    var handleDataTableButtons = function() {
      if ($("#datatable-buttons").length) {
        $("#datatable-buttons").DataTable({
          dom: "Bfrtip",
          buttons: [
            {
              extend: "copy",
              className: "btn-sm"
            },
            {
              extend: "csv",
              className: "btn-sm"
            },
            {
              extend: "excel",
              className: "btn-sm"
            },
            {
              extend: "pdfHtml5",
              className: "btn-sm"
            },
            {
              extend: "print",
              className: "btn-sm"
            },
          ],
          responsive: true
        });
      }
    };
}

CAUSE

出于性能原因,jQuery DataTables 从 DOM 中删除不可见的行。提交表单时,仅将可见复选框的数据发送到服务器。

解决方案 1. 提交表格

你需要转动元素<input type="checkbox">已检查且不存在于 DOM 中<input type="hidden">提交表格后。

var table = $('#example').DataTable({
   // ... skipped ...
});

$('form').on('submit', function(e){
   var $form = $(this);

   // Iterate over all checkboxes in the table
   table.$('input[type="checkbox"]').each(function(){
      // If checkbox doesn't exist in DOM
      if(!$.contains(document, this)){
         // If checkbox is checked
         if(this.checked){
            // Create a hidden element 
            $form.append(
               $('<input>')
                  .attr('type', 'hidden')
                  .attr('name', this.name)
                  .val(this.value)
            );
         }
      } 
   });          
});

解决方案 2:通过 Ajax 发送数据

var table = $('#example').DataTable({
   // ... skipped ...
});

$('#btn-submit').on('click', function(e){
   e.preventDefault();

   $.ajax({
      url: '/path/to/your/script.php',
      data: table.$('input[type="checkbox"]').serialize();
   }).done(function(data){
      console.log('Response', data);
   });
});

LINKS

See jQuery DataTables:如何提交所有页面表单数据 https://www.gyrocode.com/articles/jquery-datatables-how-to-submit-all-pages-form-data/更多细节。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据表复选框没有获得价值 的相关文章

  • ASP.NET 验证控件和 Javascript 确认框

    我有一个使用 NET 服务器端输入验证控件的页面 此页面还有一个 javascript 确认框 在提交表单时会触发该确认框 当前 当选择 提交 按钮时 会出现 javascript 确认框 一旦确认 就会触发 ASP NET 服务器端验证控
  • 使用 VSCode 的 EJS 文件缩进错误

    我在 VSCode 上遇到 EJS 文件问题 每次保存文件时 格式化程序都会应用错误的缩进 在每个 EJS 标识符下方 下一行向右移动 缺少正确的垂直对齐 我使用 ejs 的 HTML 格式并安装了 DigitalBrainstem 的 E
  • 平均分配固定大小容器的空间。 Flexbox 的案例?

    如何设计 HTML CSS 结构 将固定大小的容器水平分成三部分 第一部分的高度应与其内容需求一样高 第二部分和第三部分将共享剩余的空间五五十 无论它们的内容如何 如果其内容的大小超过此限制 则该部分应该是可滚动的 它的 HTML 部分很简
  • 无需重定向的 HTML 页面提交

    有没有什么方法可以在不使用ajax的情况下提交html表单而无需从当前页面重定向 你可以设置一个target 为您form 这样您就可以将表单提交到新选项卡 target blank 或一个小的 隐藏的iframe target nameo
  • 修复 Raphaël 路径节点上 Tipsy 工具提示的位置

    这是一个非常具体且有些复杂的问题 所以我设置了一个最小测试用例 http reveal dk 8080 revealit dk tipsytest 在阅读本文的其余部分之前 您可能应该先了解一下 我的页面显示悬停时突出显示区域的图像Raph
  • 为什么Promise中的代码会同步执行? [复制]

    这个问题在这里已经有答案了 在我的项目中 我有一个很长时间运行的操作 所以我决定将其放入Promise因为我认为这样我就可以在里面的代码继续执行其他操作Promise正在跑步 调试的时候发现外面的代码Promise仅当里面的代码执行Prom
  • 如何使用 Spring Boot 传输音频

    我想让用户能够播放声音 我的实现在 Firefox 上运行良好 在 Safari 上 不播放声音 我验证了音频控制可以在 Safari 中与其他网站一起使用 所以 我认为我必须更改控制器中的某些内容 控制器 RequestMapping v
  • 在给定索引上将字符串分成两部分并返回两部分

    我有一个字符串 需要在给定索引上拆分 然后返回两个部分 并用逗号分隔 例如 string 8211 8 211 98700 98 700 因此 我需要能够在任何给定索引上拆分字符串 然后返回字符串的两半 内置方法似乎执行分割 但只返回分割的
  • 等待异步 grunt 任务完成

    我收到了 grunt 设置 其中一个新任务应该执行 grunt task run 已经存在的任务 要执行的任务是异步的 新任务应该等待异步任务完成 执行此操作的首选方法是什么 grunt 已经涵盖了这一点 你应该将你的任务声明为异步任务 并
  • 使用 eval 时不会受到 XSS 威胁

    我正在制作 不是现在 但我仍然对这个感到好奇 一款使用 HTML5 和 JS 的游戏 我想要的是人们可以插入自定义脚本 但要安全 function executeCustomJS code eval code bad 当然这段代码非常糟糕
  • 当 Chrome 中嵌套滚动中的数据更改时防止页面滚动

    我在页面中有一个固定大小的元素 带有 溢出 滚动 其内容经常更改 我预计该元素内部发生的更改会影响该元素的滚动 但不会影响页面滚动 但是当这个元素位于页面顶部时 页面本身开始滚动 我怎样才能防止这种情况发生 要重现此行为 我在 chrome
  • CSS以两种颜色显示一个字符[重复]

    这个问题在这里已经有答案了 css中是否可以用两种颜色制作单个字符 我的意思是例如字符 B 上半部分为红色 下半部分为蓝色 h1 font size 72px background webkit linear gradient red 49
  • 为什么 TypeScript 混合了模块和原型模式?

    我正在查看此页面上 TypeScript 生成的 JS 代码 http www typescriptlang org Playground http www typescriptlang org Playground 基本上 要创建一个Gr
  • 如何禁用网页中的萤火虫?

    如何使用 Javascript 禁用 firebug 我想这样做是为了向访问者隐藏我的网页的运作方式 有什么选择可以做到这一点吗 你不能 你能做的最好的事情就是混淆你的 JavaScript 实际上刮掉了 您能做的最好的事情就是将所有安全关
  • 有序 JSON 对象

    我有一个 servlet 它与数据库通信 然后返回有序 按时间排序 对象的列表 在servlet部分 我有 access DB returns a list of User objects ordered ArrayList users M
  • 从json中获取所有子节点

    我有以下 json var source k 01 k 02 children k 05 k 06 children k ABC k PQR k 07 k 03 我希望能够指定 k 的值并取回所有孩子 以及孙
  • 使用严格模式编译指示时如何声明全局变量

    使用自调用函数来包装严格模式兼容代码 通常称为严格模式编译指示 被认为是一种很好的做法 function use strict Strict code here 我的问题是在这种情况下如何声明全局变量 我今天知道的三种替代方案 替代方案 1
  • Radiobutton-带有纯 html/css 的按钮

    是否可以创建像这样的单选按钮JQuery http jqueryui com demos button radio那些 用纯html css thanks 试试这个小提琴 http jsfiddle net mcXm7 1 http jsf
  • 在引导程序中以编程方式更改选项卡窗格选项卡

    我使用的选项卡窗格定义为 ul class nav nav tabs li a href personal Personal Information a li li class active a href contact Contact a
  • jQuery appendTo(), json 在 IE 6,7,8 中不起作用

    我这两天绞尽脑汁想找到解决办法 我使用 jQuery ajax 从数据库中获取值 以便在另一个框发生更改时更新一个框 php 脚本从数据库中获取值 然后输出 json 它在 FF 中工作正常 但在所有版本的 IE 中 选择框都不会更新 我已

随机推荐

  • 转换为 UI 的记录器条目随着时间的推移停止更新

    我有一个 javafx concurrent Task 在后台运行一些代码并使用 java util logging Logger 提供有关其状态的信息 我需要在主线程的 UI 中显示此日志条目 我怎样才能做到这一点 这是我制作的一个简单的
  • 在 Perl 中比较日期的最佳方法是什么?

    我需要读取 2 个日期并进行比较 一个日期是 current date 年 月 日 另一个是由业务逻辑决定的 然后我需要比较两个日期 看看一个日期是否早于另一个日期 我怎样才能在 Perl 中做同样的事情 我正在寻找好的文档 但我在 Per
  • Android Studio 更新后 Gradle 项目刷新失败

    这是输出 11 57 04 AM Gradle KeddreaderProject 项目刷新失败 原因 org gradle internal service ServiceLocator Ljava lang ClassLoader V
  • 将集合转换为表达式 Maple/ 将前缀更改为固定表达式

    如何将下面的集合转换为表达式 Expression a b a x y can be any operator 所需输出为 result a b a x y required output 我尝试使用下面的转换函数进行转换 asString
  • 将多个 .txt 文件合并为 csv

    Python 新手 我正在尝试将多个文本文件合并为 1 个 csv 下面的例子 文件名 csv Alpha 0 0 1 0 15 0 2 0 25 0 3 文本1 txt Alpha Beta 0 10 0 2 20 0 3 30 文本2
  • Ruby Rails - 为 AJAX 调用控制器操作构建数据

    我的网站上需要一个按钮 可以将信息发送到控制器的创建操作 页面时间 它似乎有效 尽管它没有发送我指定的所有数据 可能与我无法构建数据向量有关 我已通过以下方式在我的 config routes rb 文件中提供 POST 请求post pa
  • Admob实施错误

    我在应用程序中实施 Admob 时遇到问题 这是我的 main xml
  • Java 在 ^(插入符号?)上分割不起作用,这是一个特殊字符吗?

    在Java中 我试图拆分 性格 但它无法识别它 逃跑 抛出代码错误 这是一个特殊字符还是我需要做其他事情才能让它识别它 String splitChr String fmgStrng aryToSplit split splitChr Th
  • `a = b || 的语法糖a`, `a = b && a`

    For a a b a a b 有很好的语法糖a b a b 同样经常出现的还有 a b a a b a 有没有好的语法糖或简短的方法来编写这个 a b a 可以重写为 a b if b 可以重写而无需重复a or b as x b and
  • 强制 MATLAB mmreader 或 avireader 使用不同的编解码器?

    当我需要播放 AVI 文件时 如何强制 MATLAB 函数使用不同的编解码器 我使用的是 windows7 我发现 indeo5 编解码器由于操作系统的原因无法正常工作 所有代码在 XP 上都可以正常运行 Thanks 如果您的问题是如何使
  • Rails 3 自定义操作表单

    我在 Rails 3 中将表单路由到自定义操作时遇到问题 以下是我的路由 resources photos do resources comments collection do get update states end member d
  • Delphi:解析未知结构的记录

    有没有一种方法可以获取记录并以编程方式遍历其所有字段 而无需显式执行 Record somerfield 我想要做的是一个将记录保存 加载为 INI 文件的通用函数 以便我可以从记录结构中添加或删除字段 而无需每次在记录中删除或添加字段时重
  • 是否可以在react项目中使用dotenv?

    我正在尝试设置一些环境变量 用于对 dev prod 端点进行 API 调用 密钥取决于 dev prod 等 我想知道使用 dotenv 是否有效 我已经安装了 dotenv 并且正在使用 webpack 我的 webpack 入口是ma
  • 在 Python 数据框中获取一天的一部分(早上、下午、晚上、夜晚)

    这是我的数据框 我需要根据行值的时间创建一个新列 早上 下午 晚上 晚上 这是我的代码 if prods hour lt 4 prods hour gt 8 prods session Early Morning elif prods ho
  • 一个应用程序具有多个 component.js:如何加载共享模块?

    我们有一个 SAPUI5 应用程序 其中定义了多个组件 即多个 Component js 文件 每个组件都在各自的子文件夹中作为应用程序根目录的直接子文件夹 下图显示了项目结构 组件 1 指定为com test component1 分量
  • Ecto 构建多个关联

    目前正在使用 Ecto Postgres 从事 Phoenix 项目 创建评论时 作为评论belongs to用户和文章 有没有一种方法可以构建多个关联来生成一个变更集 像这样的伪代码 comment changeset build ass
  • 将外部 png 加载到 AS2 swf 中,该 AS2 swf 加载到 AS3 swf 包装器中

    我有一个 Wrapper SWF 可以加载一系列 AS2 电影 每个 AS2 影片都会加载一系列 png 文件 AS3 wrapper swf gt AS2 1 swf gt image 1 png gt image 2 png gt AS
  • sqlalchemy - query.all() - 要字典的元组列表

    这是我的电话 session query User username User first name User last name all 它返回 myUsername myFirstname myLastname 我希望其格式如下 use
  • 将新管理员添加到活动管理员

    我正在为我的用户使用设备 我最近安装了导轨活跃管理宝石 http activeadmin info 一切都很顺利 但是我不知道如何添加新的管理员用户 我可以看到活跃管理员创建了一个admin user数据库中的表与用户 电子邮件受保护 cd
  • 数据表复选框没有获得价值

    长话短说 所以我尝试使用 POST 来获取我的 Flask 模板中的复选框值 但是 我在模板中的数据表 数据表按钮 中使用了一些动态表 这些数据表导致我的发布请求不起作用 在不使用数据表的情况下 如果它只是一个很长的常规表 那么我的发布请求