我自己真的试过了,我确实阅读了这里和其他地方提出的其他问题,但我似乎无法正确回答。是的,我还在学习,所以代码可能会让您感到困惑...
我有 1 个页面 名为 index.php。
在该页面上,我有一个下拉列表,根据所选项目,同一页面上的图片应该会发生变化:
<select name="animal-pictures" id = "animal" onchange="setImage(this)">
<option value="/images/placeholder.jpg">Choose animal</option>
<option value="/images/lion.jpg">Lion</option></select>
<img class="resized" src="/images/placeholder.jpg" name="image-swap" />
这让我进入javascript:
function setImage(select){
var image = document.getElementsByName("image-swap")[0];
image.src = select.options[select.selectedIndex].value;}
我现在需要的是从脚本中获取select.options[select.selectedIndex].label(例如“Lion”),以便我可以在页面的其他地方使用它.
到目前为止我想出了什么(在许多其他版本中):
function setImage(select){
var image = document.getElementsByName("image-swap")[0];
image.src = select.options[select.selectedIndex].value;
var data = select.options[select.selectedIndex].label;
var url = "index.php?id=" + data;
// alert(data);
// alert (url);
xmlhttp.open("GET",url,true);
xmlhttp.send();}
以及我如何尝试在 php 中检索该变量:
<?php
$name = $_GET['id'];
echo $name ?>
alert(data)
- 给我一个显示“lion”的窗口
alert (url)
- 给我一个显示“index.php?id=lion”的窗口
但我无法从脚本中获取这些信息-.-
非常感谢您的帮助。请记住,我对此仍然是新手 - 到目前为止,我只是试图获得“有效”的东西 - 即使有 50 种更好的编码方法。
最佳答案
我认为您正在寻找的是一个回调函数,它为您提供来自 php 文件的 ResponseText。对吧?!
如果是,试试这个:
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
关于javascript - 在同一页面上的 php 中获取 JavaScript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21681391/