0

我想通过 PHP 将从下拉菜单中选择的区域名称传递给 MySQL 查询。我在 JavaScript 中检索了名称,但无法将值从 JavaScript 存储到 PHP。我的代码如下

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title></title>
    <script>
        function getIndex()
        {
            var x=document.getElementById("cmbArea").selectedIndex;
            var y=document.getElementById("cmbArea").options

            var z= y[x].text;
            alert(z); 
        }
    </script>
</head>
<body>
    <form name ="form1" action="Demo1.php" method="post">
    <select id="cmbArea" name="cmbArea">
    <?php
    include 'Connect.php';
    $query = "SELECT varAreaName FROM tbArea" ;
    $result = mysql_query($query);       
    while($row = mysql_fetch_assoc( $result )) { 
        echo '<option value="'.$row['varAreaName'].'">' . $row['varAreaName'] . '</option>';   
    }

    ?>
    </select>
    </form>
    <input type="Button" onclick="getIndex()" value="Alert index of selected option">

   </body>
   </html>
4

4 回答 4

0

是的,您不能将值从 javascript“存储”到 PHP,因为 javascript 在客户端(字面意思是在您的浏览器端),而不是在服务器端。

您需要使用 ajax(可能是 Jquery ajax)发布数据,并以 JSON 格式发布。 检查这个线程..

于 2013-02-18T19:36:56.687 回答
0

PHP 将在服务器上运行,然后 javascript 将在浏览器上运行。因此,当您尝试时,您不能在同一页面中同时执行这两项操作。

我认为最好的方法是提交表单,并使用 PHP 读取那里的值。在那里你可以执行你的查询。

如果您不想提交,可以检查 AJAX,它将发送异步服务器端请求,而无需刷新网页。

于 2013-02-18T20:24:48.273 回答
0

您需要发布您的表格。该值将在$_POST['cmbArea'].

于 2013-02-18T19:31:26.080 回答
0

如果我理解正确,我会在这种情况下使用 AJAX。像这样的东西:http: //openenergymonitor.org/emon/node/107

于 2013-02-18T19:33:25.577 回答