dotdx80642 2012-12-31 16:37
浏览 54
已采纳

如何使用HTML表单将JavaScript值传递到另一个PHP页面?

I have spent more than 2 months trying to solve this coding problem. First of all I know JavaScript runs on the client side and PHP runs on server.

I have two PHP pages (index23.php and index24.php), both use HTML/PHP and JS.

I'm using the HTML5 geolocation API:

<body onload="getLocation()">

<p id="demo"></p>

<script>
var x = document.getElementById("demo");

function getLocation()
{
    if (navigator.geolocation)
    {
        navigator.geolocation.getCurrentPosition(showPosition);
    }
    else
    {
        x.innerHTML="Geolocation is not supported by this browser.";
    }
}

function showPosition(position)
{
    x.innerHTML= "+" + position.coords.latitude + "+" + position.coords.longitude;  
}
</script>

I can see the geocode values on my current PHP page (index23.php). Then I click an HTML form button and the browser goes to another page (index24.php).

How can I pass the JavaScript values on the first PHP page to the second PHP page using the submit button on the form?

This is my form:

<form id="searchbox" action="index24.php" method="get">
<input name="q" type="text" placeholder="Type here"/>
<input id="submit" type="submit" value="Search"></form>
  • 写回答

3条回答 默认 最新

  • duankui3838 2012-12-31 16:53
    关注

    index23.php:

    <html>
    <head>
    <script type="text/javascript">
    function getLocation(){
        var x = document.getElementById("demo");
        if (navigator.geolocation){
            navigator.geolocation.getCurrentPosition(showPosition);
        }else{
            x.innerHTML="Geolocation is not supported by this browser.";
        }
    }
    function showPosition(position){
        var x = document.getElementById("demo"),latitude=document.getElementById("latitude"),longitude=document.getElementById("longitude");
        x.innerHTML="+" + position.coords.latitude + "+" + position.coords.longitude;
        latitude.value = position.coords.latitude;
        longitude.value = position.coords.longitude;
    }
    
    </script>
    
    </head>
    <body onload="getLocation()">
    
        <p id="demo"></p>
        <form id="searchbox" action="index24.php" method="get">
        <input name="q" type="text" placeholder="Type here"/>
        <input name="latitude" id="latitude" type="hidden">
        <input name="longitude" id="longitude" type="hidden">
        <input id="submit" type="submit" value="Search"></form>
    </body></html>
    

    index24.php

    $latitude = $_GET['latitude'];
    $longitude = $_GET['longitude'];
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置