Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 尝试在引导选项卡中加载php表单 上下文_Javascript_Php_Jquery_Ajax_Twitter Bootstrap - Fatal编程技术网

Javascript 尝试在引导选项卡中加载php表单 上下文

Javascript 尝试在引导选项卡中加载php表单 上下文,javascript,php,jquery,ajax,twitter-bootstrap,Javascript,Php,Jquery,Ajax,Twitter Bootstrap,我有一个引导标签导航栏。最后一个选项卡使用khakiout的答案动态生成新选项卡;但是,我扩展了该功能,使“+tab”包含一个下拉列表。下拉列表依次生成明显不同的选项卡(使用数据目标)。单击时,将生成一个选项卡,并触发一个ajax调用,以将php表单(由下拉列表定义)加载到该选项卡中 问题 单击下拉列表的选项时,会生成选项卡,但不会加载表单。 尝试修复 我尝试改变路径变量以适应相对或绝对路径。什么也没发生 我添加了一个回调函数,如果成功,console.log将记录请求。没有记录任何内容 我已将

我有一个引导标签导航栏。最后一个选项卡使用khakiout的答案动态生成新选项卡;但是,我扩展了该功能,使“+tab”包含一个下拉列表。下拉列表依次生成明显不同的选项卡(使用数据目标)。单击时,将生成一个选项卡,并触发一个ajax调用,以将php表单(由下拉列表定义)加载到该选项卡中

问题 单击下拉列表的选项时,会生成选项卡,但不会加载表单。

尝试修复
  • 我尝试改变路径变量以适应相对或绝对路径。什么也没发生
  • 我添加了一个回调函数,如果成功,console.log将记录请求。没有记录任何内容
  • 我已将有问题的load语句包装在一个try/catch中。未捕获任何错误,因此永远不会运行console.log(err)
  • 我还在try块之前添加了console.log(path+form)和console.log(F),以确认变量是否实例化。他们是;F与正确的选择相匹配
  • 使用Chrome的调试工具,我可以确认.load()正在运行;不过,我无法理解它在做什么,因为大部分逻辑都在带有模糊变量名的返回语句中
  • 其他注释
  • 由于其他开发人员编写php表单的方式,
    标记直接存在于表单之外
  • 表单必须是php,因为它加载的选择器依赖于路由实例化的php变量
  • 一小条
    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的问题