【问题标题】:how to submit a form placed in datatable?如何提交放置在数据表中的表单?
【发布时间】:2019-06-22 14:17:59
【问题描述】:

我正在尝试提交以数据表形式显示的数据。整个表也包括放在<thead> 中的数据。让我用更简单的方式来问。

<form method="post">
    <table class="table table-bordered" id="example">
        <thead>
            <tr>
                <td>
                  <input type="text" name="val1" />
                </td>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td><input type="text" name="checkBody" /></td>
            </tr>
        </tbody>
    </table>
    <input type="submit" class="btn btn-primary" value="save" name="upload" />
</form>

<script type="text/javascript">
    $(document).ready(function () {
        $("#example").DataTable({
            "info": false,
            "ordering": false,
            "searching": false,
            "retrieve": true,
            "scrollY": "100%",
            "scrollX": true,
            "scrollCollapse": true,
            "paging": false
        });
    });
</script>

这是表单和数据表正常工作,但主要问题是当我看到$_POST['val1'] 值时单击提交按钮,它是空的,但可以显示 tbody ($_POST['checkBody']) 值中的输入字段,为什么会这样? 注意:这个问题只在我使用数据表时发生,但是当我在没有数据表的情况下尝试它时,就没有发生这样的问题,对不起我的英语不好!真正的问题很复杂,但这是我面临的问题的小演示。

【问题讨论】:

  • 当您提交表单时,如果您转到网络(开发工具并确保您单击复选框“保留日志”并单击您的 POST 请求,在标题选项卡中您在请求有效负载下看到什么(底部)。
  • @AndrejsGubars 兄弟!没有错误
  • 我不是在谈论错误,我是在向您解释一种使用开发工具检查您通过 POST 发送的数据的方法。
  • @AndrejsGubars bro 我看到了它的请求正文:val1=1&val1=&checkBody=&upload=save
  • @AndrejsGubars 我两次看到 val 感到震惊,但我很困惑为什么以及如何?它是数据表客户端脚本魔术还是什么?我太迷惑你们了。看到 val1 变量有 '1' 是正确的,但在那之后 & 再次那个 val 存储空啊!为什么会这样?

标签: javascript php jquery forms datatable


【解决方案1】:

问题是因为数据表通常会创建两次标题的列(输入标签等)。

正文中的第二个标题中的一个(隐藏)具有相同的“名称”。因此,当我们在我们看到的 'input'(textfeild) 中输入一些值时,它通常是第一个,它被第二个 'input'(textfeild) 值替换(因为两者具有相同的 'name' 属性)。 你可以简单地通过在 'name' 前面使用 '[ ]' 来解决这个问题

 <input type='text' name='val1[]' />

这会将 val1 转换为数组,因此您可以使用 forloop 忽略第二个并检索 $_POST['val1'] 第一个值。但保持数据表的顺序为假。

注意:可能有更简单的方法可以解决这个问题。有知道的就贴吧!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-02
    • 1970-01-01
    • 1970-01-01
    • 2021-12-15
    • 2021-11-14
    • 2015-07-01
    • 1970-01-01
    • 2015-05-31
    相关资源
    最近更新 更多