通过a";“价值”;从表单中的select到带有javascript问题的php变量

通过a";“价值”;从表单中的select到带有javascript问题的php变量,javascript,php,html,Javascript,Php,Html,我试图通过Javascript将select中的一个选项的值从HTML表单传递给一个PHP变量 <script type="text/javascript"> function changeDir(ID){ var dir = document.getElementById(ID).value; //For debuging purposes i've used an alert to show the value of dir on screen //ale

我试图通过Javascript将select中的一个选项的值从HTML表单传递给一个PHP变量

<script type="text/javascript">
function changeDir(ID){
    var dir = document.getElementById(ID).value;
    //For debuging purposes i've used an alert to show the value of dir on screen
    //alert (dir);
    //At this point of the function I want to assign the value of "dir" to the variable $folder
    }
</script>

函数changeDir(ID){
var dir=document.getElementById(ID).value;
//出于调试目的,我使用了一个警报在屏幕上显示dir的值
//警报(dir);
//在函数的这一点上,我想将“dir”的值赋给变量$folder
}
这是带有html的my.php

<SELECT name="course" ID="course" onchange='changeDir("course")' >
        <OPTION value="artes>'">artes</OPTION>
        <OPTION value="ingles">inglés</OPTION>
</SELECT>
<?php $folder= ...?>

阿尔特斯
英格拉斯
我将它与一个php上传库一起使用,它们都在同一个文件中工作。 如果有人能向我解释如何将选项的值分配给php变量,那就太好了


谢谢和问候。

事实是你不能。它们都位于页面的不同部分。虽然可以在同一个文件中编写它们,但所有PHP代码都在服务器端处理,Javascript无法从客户端看到任何内容


您可以做的是将其作为AJAX请求传递,以便获取一些信息以显示给用户,或者在用户通过提交表单更改选项时使
刷新页面,这样您就不会丢失表单的“状态”,然后在php块中验证是否选择了任何选项。

您可以选择两种不同的方式。第一个是AJAX,第二个是重定向页面并获取
元素的值

HTML:


阿尔特斯
英格拉斯
爪哇:


函数changeDir(ID){
var dir=$(“课程”).val();
$.post(“php_file.php”,
{
发帖地址:dir
},
功能(数据){
$(“结果元素的id”).html(数据);
});
}

当用户在浏览器中执行某项操作后获取该值时,您不能将该值分配给Web服务器。此时,页面已离开服务器,现在位于浏览器中,无法再对服务器执行任何操作。您可以选择ajax、套接字或重新加载页面,所有这些都会向您的服务器发出新的请求,以实际将数据从浏览器发送回服务器。你可以使用nodejs:P
<SELECT name="course" ID="course" onchange='changeDir("course")' >
   <OPTION value="artes>'">artes</OPTION>
   <OPTION value="ingles">inglés</OPTION>
</SELECT>
<script type="text/javascript">
function changeDir(ID){
var dir = $("course").val();
$.post("php_file.php",
    {
      posted_dir: dir
    },
    function(data){
        $("id_of_result_elemnt").html(data);
    });
    }
</script
<?php
$folder=$_POST['posted_dir'];
echo "This text will be display in the element with id_of_result_elemnt ID";
?>
<SELECT name="course" ID="course" onchange='changeDir("course")' >
        <OPTION value="artes>'">artes</OPTION>
        <OPTION value="ingles">inglés</OPTION>
</SELECT>
<?php if (iset($_GET['folder']))
 {$_GET['folder']=$folder;}...?>
<script type="text/javascript">
function changeDir(ID){
    var dir = document.getElementById(ID).value;
    window.location = "http://example.com/myphp?folder=" + dir;
    }
</script>