Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.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/9/javascript/478.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
PHP中的制表符?_Php_Javascript_Tabs - Fatal编程技术网

PHP中的制表符?

PHP中的制表符?,php,javascript,tabs,Php,Javascript,Tabs,我的页面上有这样的标签 衡平法、税收法、平衡法、债务法、基金法、ETF法、金边法 在这些标签下面还有空间。当用户单击这些选项卡时,与这些选项卡对应的数据必须显示在该空间中,而不更改页面的url。就像我单击Equ时,其数据将显示在该空间中,如果我单击tax,那么它的数据将显示在相同的空间中,就像它覆盖了以前的数据一样。必须显示的数据是使用php计算的。 现在,使用php或javascript最简单的方法是什么 在此,请提供一些编码帮助 编辑: 看,我知道这可以用javascript实现,但必须显示

我的页面上有这样的标签

衡平法、税收法、平衡法、债务法、基金法、ETF法、金边法

在这些标签下面还有空间。当用户单击这些选项卡时,与这些选项卡对应的数据必须显示在该空间中,而不更改页面的url。就像我单击Equ时,其数据将显示在该空间中,如果我单击tax,那么它的数据将显示在相同的空间中,就像它覆盖了以前的数据一样。必须显示的数据是使用php计算的。 现在,使用php或javascript最简单的方法是什么

在此,请提供一些编码帮助

编辑:
看,我知道这可以用javascript实现,但必须显示的数据是在php变量中。现在如何将php变量分配给javascript

<script type="text/javascript">
function showhide(ref)
{
    document.getElementById('mf').innerHTML= HERE I WANT A PHP VARIABLE;
}
</script>

如何在onclick事件中发送我的pfp变量,以便在函数中使用它们???

您可以使用CSS或/和Javascript来帮助您完成这项任务

仅使用CSS的选项卡示例:

使用Javascript的选项卡示例:

function showhide(ref)
{
    document.getElementById('mf').innerHTML= '<?php echo $variable; ?>';
}
function menuClick(var i)
{
    var request1 = new Request.HTML({ url: 'createContent.php?i='+i,
        onSuccess: function(html) {
            $('div1').set('text', '');
            $('div1').adopt(html);
            $('div1').innerHTML = '';
        },
        onFailure: function() {
            $('div1').set('text', '');
            $('div1').innerHTML = '';
        }
    });

    request1.send();
    return false;
}
编辑 作为对编辑的答复:


编辑:我知道这可以用javascript实现,但是必须显示的数据是php变量。现在如何将php变量分配给javascript

<script type="text/javascript">
function showhide(ref)
{
    document.getElementById('mf').innerHTML= HERE I WANT A PHP VARIABLE;
}
</script>
要在服务器端同步执行所有操作,可以将计算结果注入javascript:

function showhide(ref)
{
    document.getElementById('mf').innerHTML= '<?php echo $variable; ?>';
}
function menuClick(var i)
{
    var request1 = new Request.HTML({ url: 'createContent.php?i='+i,
        onSuccess: function(html) {
            $('div1').set('text', '');
            $('div1').adopt(html);
            $('div1').innerHTML = '';
        },
        onFailure: function() {
            $('div1').set('text', '');
            $('div1').innerHTML = '';
        }
    });

    request1.send();
    return false;
}
更好的做法是使用AJAX。

您必须使用

您可以使用一些库,如xajax、mootools或jquery

Upd: mootools示例: 首先创建单独的php文件,该文件根据tabcreateContent.php返回文本 然后在javascript中:

function showhide(ref)
{
    document.getElementById('mf').innerHTML= '<?php echo $variable; ?>';
}
function menuClick(var i)
{
    var request1 = new Request.HTML({ url: 'createContent.php?i='+i,
        onSuccess: function(html) {
            $('div1').set('text', '');
            $('div1').adopt(html);
            $('div1').innerHTML = '';
        },
        onFailure: function() {
            $('div1').set('text', '');
            $('div1').innerHTML = '';
        }
    });

    request1.send();
    return false;
}
在html中,为具有该功能的选项卡添加onclick:

<a href="#" onclick="return menuClick(1);">EQU</a>

显示行为将是客户端的事情,因为它是发生在浏览器上的某种逻辑。如前所述,您必须使用javascript/css来实现这一点

在编码帮助方面,您可能会发现以下内容很有帮助:

编辑

因此,如果您想将一个php变量放在那里,这就是您要做的,并将其设为一个.php页面:

<script type="text/javascript">
function showhide(ref)
{
    document.getElementById('mf').innerHTML= <?php echo $VAR ?>;
}
</script>

当然,这假设在呈现页面之前已经计算了变量。如果变量的值取决于页面上的某些操作,例如,在文本框中输入一些文本并单击按钮后(如搜索框),则必须使用AJAX。您可以通过对php页面执行GET请求或POST请求,然后显示该页面的内容来实现这一点。我上面发布的链接有一个AJAX选项卡的示例,您可以看看。

这其实很简单。您不需要在单击选项卡时动态加载数据。当页面加载时,您可以一次加载所有数据,然后根据需要显示/隐藏

一个简单的例子

<ul id="#nav">
<li><a href="#" id="equ-tab">equ</a></li>
<li><a href="#" id="tax-tab">tax</a></li>
<li><a href="#" id="bal-tab">balanced</a></li>
</ul>

<div id="content">
    <div id="content-equ">equ content</div>
    <div id="content-tax">tax content</div>
    <div id="content-bal">balanced content</div>
</div>
假设eq是默认内容。当页面加载时,使用css或最好是javascript隐藏equ之外的所有其他div

单击选项卡时建议使用javascript jquery隐藏所有内容,然后显示选项卡内容

$('#nav a').click(function(){ // when a nav link is clicked
    $('#content div').hide(); // hide all content
    $('#content #content-'+$(this).attr('id')).show(); // show content that has id #content-<tabID>
});

代码不是要复制粘贴的,我很快就把它打印出来作为一个例子

你试过什么?如果没有大量的额外信息,为您提供这方面的代码几乎是不可能的。通过查看您的问题和随后的评论,我得到的印象是,您对PHP和javascript如何交互有一个常见的误解,即它们没有交互。一旦显示了一个页面,PHP就完成了它的所有工作。更改PHP显示内容的唯一方法是向服务器发出新的HTTP请求,即请求URL。使用AJAX的Javascript允许您不查看该请求,并使用新信息更新页面,但就我个人而言,我会使用下面给出的CSS/Javascript选项之一,简单地显示/隐藏PHP生成的每个位。您并不真正需要AJAX。您可以在页面加载时加载所有内容,然后让选项卡适当地显示/隐藏内容。在这种情况下不需要ajax。ajax不会让我的数据显示在其源代码中,我需要在其源代码中显示数据:-看,我知道这可以使用javascript完成,但必须显示的数据是在php变量中。现在如何将php变量分配给javascript???@developer:我已经更新了我的答案,以回答您编辑的问题问题这是我所知道的,但我已经编辑了我的问题请看。我没有看到任何改变我的答案的东西=就个人而言,我认为这是最好的方式,只要你在每个选项卡中只获得少量信息。一旦你开始在每个标签页上看到一页又一页的内容,你的页面加载时间就会变得疯狂,你最好使用基于AJAX的方法来获取每次实际需要显示的内容。我看到PHP编写javascript和编写html时犯下了一些令人发指的罪行。这真的让事情变得过于复杂,最终你的html文档中到处都是内容 另一个维度。我提供它作为一个可行的解决方案,这可能正是@developer所寻求的。我还在寻找替代方法,将服务器端计算值放入javascript中,而无需异步请求调用。