-3

我有文件 index.php,我有这个代码:

echo'
     THIS IS MY SITE
     <ul>
        <li><a href="'.show_one().'">ONE</a></li>
        <li><a href="'.show_two().'">TWO</a></li>
     </ul>
';

function show_one(){
   echo "SOMETHING";
} 

function show_two(){
   echo "SOMETHING ELSE";
} 

现在它将显示:

THIS IS MY SITE
SOMETHING
SOMETHING ELSE

我只想在单击链接后显示文本。当我第一次显示这个网站时,我只想看到这是我的网站,而不是当我点击一个浏览器时,我只看到一些东西。当我单击“两个”时,它只会显示其他内容。

4

6 回答 6

1

您的问题不仅仅涉及 PHP 中的函数调用。对于您要执行的操作,您将需要 Javascript 和/或 Jquery、AJAX 等,因为您尝试实现的行为发生在页面已经加载(php 已经运行)之后。

于 2013-08-26T15:22:18.183 回答
0

您不需要为此使用 PHP 函数。您正在尝试在不创建新文件的情况下切换页面和内容,这可以使用 URL 变量和 PHP 中的 $_GET 函数轻松完成。如果您希望页面在不刷新的情况下更改内容,那么您需要使用 AJAX 并且应该查看 jQuery。像这样编写 PHP 代码

<?php
$p = $_GET['p'];

if($p == "one"){
   echo "Something";
}

elseif($p == "two"){
   echo "something else";
} 
else{
    echo'
     THIS IS MY SITE
     <ul>
        <li><a href="'.$_SERVER("PHP_SELF").'?p=one">ONE</a></li>
        <li><a href="'.$_SERVER("PHP_SELF").'?p=two">TWO</a></li>
     </ul>
';
}

?>

或使用 javascript:

     <ul>
        <li><a href="" onClick="show_one();">ONE</a></li>
        <li><a href="" onClick="show_two();">TWO</a></li>
     </ul>
<script>
  function show_one(){
    print "SOMETHING";
  } 

  function show_two(){
    print "SOMETHING ELSE";
  } 
</script>
于 2013-08-26T15:21:57.793 回答
0

只需在参数中传递函数名称并进行切换以查看要执行的函数,这是一个示例:

echo'
     THIS IS MY SITE
     <ul>
        <li><a href="index.php?function=show_one">ONE</a></li>
        <li><a href="index.php?function=show_two">TWO</a></li>
     </ul>
';

if (isset($_GET['function']))
{
   switch($_GET['function'])
   {
        case 'show_one':
         echo "SOMETHING";
        break;

        case 'show_two':
         echo "SOMETHING ELSE";
        break;
   }
}

?>
于 2013-08-26T15:22:00.723 回答
0
    echo'
     THIS IS MY SITE
     <ul>
        <li><a href="?show_string=one">ONE</a></li>
        <li><a href="?show_string=two">TWO</a></li>
     </ul>
';
$show_string="";

if(!empty($_GET['show_string']))
{
    $show_string=$_GET['show_string'];
}

echo $show_string;
于 2013-08-26T15:25:32.487 回答
0

干得好。

<script>
  function show_one() {
    document.getElementById("ONE").innerHTML = 'SOMETHING';
  } 

  function show_two() {
    document.getElementById("TWO").innerHTML = 'SOMETHING ELSE';
  } 
</script>
THIS IS MY SITE
<ul>
    <li><a id="ONE" href="#" onClick="show_one();">ONE</a></li>
    <li><a id="TWO" href="#" onClick="show_two();">TWO</a></li>
</ul>
于 2013-08-28T12:54:58.073 回答
0

我使用了这段代码:在 HTML 中,我给类链接......

 ...<li><a href="#" class="ajaxtrigger">Edit</a></li>...

在我想更改文本的空间中,我添加了这个标签:

<div id='target'></div>";

在文档的底部我添加了这个脚本。

<script> 
    $(document).ready(function(){
      $('.ajaxtrigger').click(function(){
        var url = $(this).attr('href');
        $('#target').load(url);
      return false;
      });
    });
</script>
于 2013-09-02T13:44:57.070 回答