我有一个小的PHP脚本,它获取当前页面的url并回显它。我只希望在用户点击提交按钮时运行。页面上没有其他表单项,我只是认为提交比链接更容易使用。如果链接也有效,我很乐意使用它。我只需要脚本在同一页面上运行而不是链接到外部脚本(因为它必须获取当前页面的URL)。有什么建议?
我可以使用javascript或页面重新加载。
到目前为止我尝试过的一些事情:
1)
<script type="text/javascript">function echoUrl() {
$.get("url.php");
return false;}</script><a href="#" onclick="echoUrl();">Current Page</a>
那个对我不起作用,因为它得到了url.php页面的地址。
2)
<?php if(Input::exists()) { echo: $url; } ?>
这对我没有任何作用,因为提交按钮是唯一的表单项,因此我的exists()函数返回false,因为没有其他输入。
答案 0 :(得分:1)
这样的东西?
<?php
if($_POST["clicked"]){
printURL();
}
?>
<form method="post">
<input type="submit" name="clicked" value="Click Me!"/>
</form>
答案 1 :(得分:0)
不确定你想要什么,但根据我的理解,你想要这样的东西:
<form action="yourscript.php">
<input type="submit"/>
</form>
或者,没有表格:
<a href="yourscript.php">click here</a>
编辑: 根据您的评论,您需要AJAX。以下是如何使用AJAX的示例。 AJAX将在同一页面上运行脚本,而无需刷新它。
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","myphpscript.php",true);
xmlhttp.send();
}
然后只需使用链接调用该函数。此函数将在html元素内显示php脚本的结果。您可以根据需要更改此行为。