Joomla,a href="#";工作不正常


Joomla, a href="#" doesnt work properly

我制作了一个简单的表单,例如在file.php中:

<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form method="get">
<input type="hidden" name="var" value="example"/>
<input type="submit" value="Submit"/>
</form>
<a href="#">Link</a>
</body>
<html>

好的。现在,当我直接转到localhost/file.php时,单击submit,它将转到localhost/file.php?var=example。然后接下来我点击链接,它会转到localhost/file.php?var=example#,这样它就可以工作了。

但我正在为joomla构建组件。我通过别名->localhost/joomla/index.php/users_hosts_list转到我的组件,现在我处于默认视图和默认布局,然后我放入表单,即上面显示的示例file.php。

当我提交表格时,它转到localhost/joomla/index.php/users_hosts_list?var=example,我遇到了问题。当我点击链接时,这个链接没有转到localhost/joomla/index.php/users_hosts_list?var=example#,而是删除变量var,转到localhost/joomla/index.php/users_hosts_list#

我应该更改什么来修复它?

我遵循了你的步骤,但Joomla表单让我进入主页?var=示例#。你能写这样的吗

    <?php 
    $post = JRequest::get('post');
    $link = "index.php?option=com_advsearch&view=advsearch&layout=test"; // your Joomla  link
    if($post['var'])
    $newlink = "index.php?option=com_advsearch&view=advsearch&layout=test&var=".$post['var'];
    ?>
    <form method="post" action="<?php echo $newlink; ?>">
    <input type="hidden" name="var" value="example"/>
    <input type="submit" value="Submit"/>
    </form>
   <a href="<?php echo $newlink; ?>">Link</a>

Joomla在页面的头部添加了一个基本标记。我认为这必须去掉任何参数。

编辑:一个测试告诉我Joomla为那个标签做了strip参数。如果你查看你的来源,它可能会有代码:

<base href="localhost/joomla/index.php/users_hosts_list">

这将导致链接为localhost/joomla/index.php/users_hosts_list#,而不仅仅是#

当你用真实的url替换"#"时,它应该可以工作。