【问题标题】:Send Bootstrap Tab's ID to View.py via Django通过 Django 将引导选项卡的 ID 发送到 View.py
【发布时间】:2018-02-21 16:10:57
【问题描述】:

我正在尝试将标签 ID 从 Django 模板发送到服务器。我想在提交页面后发送所选标签的 ID。有没有办法做到这一点?或者如何将我的 id 放入我的网址?提前谢谢你。

这是我的标签列表:

 <ul class="nav nav-tabs" role="tablist"˛id="myTab">
                    <li><a href="#Section1" role="tab" id="MyFirstTab" data-toggle="tab"><i class="fa fa-sun-o"></i>MyFirstTab</a></li>
                    <li><a href="#Section2" role="tab" id="MySecondTab"data-toggle="tab"><i class="fa fa-cloud"></i>MySeconfTab</a></li>
 </ul>  

【问题讨论】:

    标签: django django-forms django-views bootstrap-tabs


    【解决方案1】:

    您可以使用 Javascript (jQuery) 在表单提交到服务器之前将当前选项卡 ID 附加到表单。像这样的:

    $(function() {
        $( "#form" ).submit(function( event ) {
            var currentTabID = $("ul#myTab li.active a").attr('id');
            $('<input>').attr({
                type: 'hidden',
                name: 'currentTabID',
                value: currentTabID
            }).appendTo(this);
        });
    });
    

    然后,在您的 Django 视图中,您可以通过 request.POST.get("currentTabID") 访问该数据

  • 我又收到了None。不幸的是,在我的网址中,我得到了以下结果:?start_date=2018-01-01&amp;end_date=2018-01-05&amp;id=1&amp;currentTabID= 所以currentTabID 没有发送到服务器端。
  • 你能验证 var currentTabID 有值吗?另外,通过打印console.log($(this).serializeArray()); 来验证表单数据,这样您就可以看到表单在提交之前的数据。
  • 我检查了数据,我在控制台中得到了部分(比如说#Section3)如果我按 ctr+F5 硬刷新,没有这个我不会得到这个结果。此外,如果控制台打印结果,我不会从服务器返回。
  • 猜你喜欢
    相关资源
    最近更新 更多
    热门标签