Javascript 尝试在引导选项卡中加载php表单 上下文
我有一个引导标签导航栏。最后一个选项卡使用khakiout的答案动态生成新选项卡;但是,我扩展了该功能,使“+tab”包含一个下拉列表。下拉列表依次生成明显不同的选项卡(使用数据目标)。单击时,将生成一个选项卡,并触发一个ajax调用,以将php表单(由下拉列表定义)加载到该选项卡中 问题 单击下拉列表的选项时,会生成选项卡,但不会加载表单。 尝试修复Javascript 尝试在引导选项卡中加载php表单 上下文,javascript,php,jquery,ajax,twitter-bootstrap,Javascript,Php,Jquery,Ajax,Twitter Bootstrap,我有一个引导标签导航栏。最后一个选项卡使用khakiout的答案动态生成新选项卡;但是,我扩展了该功能,使“+tab”包含一个下拉列表。下拉列表依次生成明显不同的选项卡(使用数据目标)。单击时,将生成一个选项卡,并触发一个ajax调用,以将php表单(由下拉列表定义)加载到该选项卡中 问题 单击下拉列表的选项时,会生成选项卡,但不会加载表单。 尝试修复 我尝试改变路径变量以适应相对或绝对路径。什么也没发生 我添加了一个回调函数,如果成功,console.log将记录请求。没有记录任何内容 我已将
标记直接存在于表单之外if(window.location.pathname==“/foo/bar”){//application-route
$(文件).ready(一般格式为ready);
}
函数generalFormReady(){
$(“选项卡”)
//导航到制表符
.on(“点击”,“a”,功能(e){
e、 预防默认值();
if(!$(this).hasClass('add-tab')){
$(this.tab('show');
}
})
//移除标签
.on(“单击”,“跨距”,函数(){
var-anchor=$(this.sibbines('a');
$(anchor.attr('href')).remove();
$(this.parent().remove();
$(“.nav tabs li”).children('a').first().click();
});
$(“.添加选项卡”)
//创建选项卡
。单击(功能(e){
e、 预防默认值();
tabgroup=$(“#tabTabs”);
var id=tabgroup.children().length;
var path=“/path/to/php/includes/”;
var formFile=$(this.data(“target”)+“.php”;
var title=$(this.text();
//附加选项卡按钮
tabgroup.children().last().before(
“”
);
//附加选项卡内容
$('.tab内容')。追加(
'' +
'' +
“福”+
'' +
''
);
F=$(“表格”+id);
试一试{
F.load(路径+表单文件、函数(响应、状态、xhr){
日志(响应、状态、xhr);
});
}捕捉(错误){
控制台日志(err);
}
//导航到新选项卡
$('a[href$='+id+']')。单击();
});
}
.container{
边缘顶部:10px;
}
.nav选项卡>li{
位置:相对位置;
}
.导航选项卡>li>a{
显示:内联块;
}
.nav选项卡>li>span{
显示:无;
光标:指针;
位置:绝对位置;
右:6px;
顶部:8px;
颜色:红色;
}
.nav选项卡>li:悬停>跨距{
显示:内联块;
}
#腿{
边框颜色:#dddddd;
边框宽度:1px;
-webkit边界半径:4px4p0;
-moz边界半径:4px4p0;
边界半径:4px4p0;
}
结果有两个问题:
选择器故障
F=$(“格式”+id)代码>
应该是
F=$(“#形式”+id)代码>。原始选择器缺少与ID的匹配。
这导致选择器抓取了错误的表单。修复此问题可使console.logs捕获错误
路径故障
传递到.load()
的URL不正确,因此产生404个错误。在浏览器中直接访问它可以确定正确的路径。我的错误是将localhost/
混淆为我的应用程序根目录,而不是public\u html/
结果有两个问题:
选择器故障
F=$(“格式”+id)代码>
应该是
F=$(“#形式”+id)代码>。原始选择器缺少与ID的匹配。
这导致选择器抓取了错误的表单。修复此问题可使console.logs捕获错误
路径故障
传递到.load()
的URL不正确,因此产生404个错误。在浏览器中直接访问它可以确定正确的路径。我的错误是将localhost/
混淆为我的应用程序根目录,而不是public\u html/
如果您点击F12,控制台中会出现什么错误?没有详细级别的日志。如果没有日志,您甚至无法访问try/catch,因为它们都是日志?如果在单击事件中添加另一个console.log,它会启动吗?这就是它的奇怪之处。try块正在运行,load也在运行。如果我在jquery.min中调试并爬网加载,它将运行以返回,但没有加载任何内容!我甚至试着用一个“foo.html”来交换这个文件,它只是一个F00。那也不能渲染!我的直觉告诉我这是URL的问题,如果你点击F12,控制台中会出现什么错误?没有详细级别的错误。如果没有日志,你甚至无法访问try/catch,因为它们都会记录?如果在单击事件中添加另一个console.log,它会启动吗?这就是它的奇怪之处。try块正在运行,load也在运行。如果我在jquery.min中调试并爬网加载,它将运行以返回,但没有加载任何内容!我甚至试着用一个“foo.html”来交换这个文件,它只是一个F00。那也不能渲染!我的直觉告诉我这是URL的问题