的形式传递从选择“价值”与javascript中的PHP变量会发出
问题描述:
我想在选择从我的HTML表单通过JavaScript的形式传递从选择“价值”与javascript中的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>
传递一个选项的值到PHP变量
还有我的.PHP与HTML
<SELECT name="course" ID="course" onchange='changeDir("course")' >
<OPTION value="artes>'">artes</OPTION>
<OPTION value="ingles">inglés</OPTION>
</SELECT>
<?php $folder= ...?>
我用这与PHP上传lib下,都在同一个文件工作。 如果任何人可以解释我如何将选项的值分配给一个PHP变种将是伟大的。
感谢和问候。
答
您可以选择2种不同的方式。首先是AJAX,其次是重定向页面并获取<select>
元素的值。
HTML:
<SELECT name="course" ID="course" onchange='changeDir("course")' >
<OPTION value="artes>'">artes</OPTION>
<OPTION value="ingles">inglés</OPTION>
</SELECT>
JAVA:
<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:
<?php
$folder=$_POST['posted_dir'];
echo "This text will be display in the element with id_of_result_elemnt ID";
?>
其他方法是重定向
HTML + PHP:
<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;}...?>
JAVA:
<script type="text/javascript">
function changeDir(ID){
var dir = document.getElementById(ID).value;
window.location = "http://example.com/myphp?folder=" + dir;
}
</script>
答
事实是,你不能。他们都生活在你的网页的不同部分。虽然您可以将它们写入同一个文件中,但所有PHP代码都在服务器端处理,Javascript无法从客户端看到任何内容。
您可以做的是将其作为AJAX请求传递给用户,以便获取一些信息以显示给用户,或者在用户通过提交表单更改选项时刷新页面,所以您不需要丢失表单的“状态”,然后在你的php块中验证是否有任何选项被选中。
不能赋值到web服务器,当用户做了在浏览器后价值得到。此时,该页面已离开服务器,现在位于浏览器中,完全无法再对服务器执行任何操作。您的选择是ajax,套接字或重新加载页面,所有这些都会向您的服务器发出一个新请求,以实际将数据从浏览器发送回服务器。 – adeneo
你不能用php。你可以用nodejs:P – evolutionxbox