我一直在寻找,但没有运气,我在HTML标签上有一个JavaScript on-click功能。点击功能会将我重定向到另一个页面。另一页上的内容取决于JavaScript on-click事件中传递的id。问题是我不知道如何访问我的PHP文件中的id,以便我可以运行SQL查询来显示数据。我也不希望ID显示在网址中。
我的HTML点击元素:
<h1 onclick="ContentPage(this.id)" value='.$id.'>'.$title.'</h1>
我的javasript功能:
<script>
function ContentPage(){
location.href = "show-content.php";
};
</script>
答案 0 :(得分:6)
你有很多方法可以去......
修改你的功能:
function ContentPage(id){
location.href = "show-content.php?id="+id;
}
id的值将在$_GET
变量中;特别是索引id
在你的页面上,
$passedId = $_GET['id'];
JS
- <h1 id="myTitle_'.$id.'" class="clickNavigate" value='.$id.'>'.$title.'</h1>
然后您的JavaScript代码变为
jQuery(".clickNavigate").on("click", function(e) {
var myID = jQuery(this).attr("id");
var idParts = myID.split("_");
location.href = "show-content.php?id="+idParts[1];
});
答案 1 :(得分:1)
使用GET的快速示例,您也可以使用POST
https://www.tutorialspoint.com/php/php_get_post.htm
HTML
<h1 onclick="ContentPage(this)" value='.$id.' id="myid">'.$title.'</h1>
JAVASCRIPT
<script>
function ContentPage(elem){
location.href = "show-content.php" + "?id=" + elem.value;
};
</script>
PHP
$id = $_GET["id"];
答案 2 :(得分:0)
你可以做的是使用URL中的javascript将id发送到这样的新页面:
<script>
function ContentPage(elem){
location.href = "random-page.php?id=" + value;
};
</script>
然后在该页面上,从URL获取id,然后使用表单将其发布到您的实际页面。这样在实际页面上,您可以使用$ _POST来检索它,而不会显示在URL中。
随机page.php文件:
$id = $_GET["id"];
<html>
<form id='form1' name='myform' action='show-content.php' method='POST' >
<input type='text' value='<?php echo $id; ?>' name='id' hidden />
<input type='submit' name='myform' />
</form>
<script type="text/javascript">
document.getElementById('form1').submit(); // SUBMIT FORM
</script>
</html>
在show-content.php上,执行此操作以获取ID:
if(isset($_POST['myform'])){
$id = $_POST['id'];
}
它有点复杂,但如果你想要一个没有AJAX等的快速解决方案,值得一试。