繁体   English   中英

通过GET URL加载Bootstrap nav nav-tabs

[英]Load Bootstrap nav nav-tabs via GET URL

我已经通过索引页面设置了Bootstraps导航选项卡。 每个选项卡通过AJAX加载单独的PHP文件:

<div class="container">
    <ul class="nav nav-tabs" id="indextabs">
        <li><a href="notes.php" data-target="#notes" data-toggle="tabchange">NOTES</a></li>
        <li><a href="whois.php" data-target="#whois" data-toggle="tabchange">WHOIS</a></li>
        <li><a href="dig.php" data-target="#dig" data-toggle="tabchange">DIG</a></li>
        <li><a href="ets.php" data-target="#ets" data-toggle="tabchange">ETS</a></li>
        <li><a href="resources.php" data-target="#resources" data-toggle="tabchange">RESOURCES</a></li>
    </ul>
</div>

处理AJAX查询的JavaScript:

window.onload = function() {
$('[data-toggle="tabchange"]').click(function(e) {
var $this = $(this),
    loadurl = $this.attr('href'),
    targ = $this.attr('data-target');

$.get(loadurl, function(data) {
    $(targ).html(data);
});

$this.tab('show');
return false;
});
}

这本身工作正常。 但是,在某些选项卡中,有一个输入需要一个域名,然后需要通过GET请求提交该域名,以便该URL可以是:

http://domain.com/?domain=google.com&record=mx

考虑到这一点,我有两个问题:

  1. 如何使用GET方法URL加载特定选项卡?
  2. 如何使用GET方法通过AJAX提交表单数据,并更改URL并将其内容加载到选项卡面板div中?

请考虑将以下内容视为评论,因为我不确定哪种情况最适合您(并且也可以)。 无论如何,我认为您需要在$ get方法调用中以对象,键值对{ domain: 'google.com', record: 'mx'}或字符串的形式传递查询参数。 在下面使用对象/键值对。

window.onload = function() {
$('[data-toggle="tabchange"]').click(function(e) {

var $this = $(this),
  loadurl = $this.attr('href'),
  targ = $this.attr('data-target');

//optional method call below, uncomment if needed
//loadurl = getDomainURL() + "/" + loadurl


  $.get(loadurl, {
     domain: 'google.com',
     record: 'mx'
    }, 
    function(data) {
    $(targ).html(data);
  });

  $this.tab('show');
  return false;
 });
}


//returns domain name: www.example.com in form of http://example.com
// or domain name: http://example.com is returned as it is, unchanged http://example.com
function getDomainURL() {

  var index = window.location.hostname.indexOf("www.");

  if (index === 0)
    return "http://" + window.location.hostname.substr((index + 4));
  else
    return "http://" + window.location.hostname;

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM