再次问好Stack的人
我的代码有一个小问题。
我正在尝试使用window.location.href
发送变量,但我一直收到错误not defined
。
这是选择我的图像(src)和id(selectedid)的函数 在我测试过的时候,selectedid确实有效。
function HeadShow() {
var HeadItems = document.getElementById('HeadItems');
HeadItems.style.display = 'block';
}
function headHide(src, chosenid) {
var head = document.getElementById("head");
var HeadItems = document.getElementById('HeadItems');
HeadItems.style.display = 'none';
head.innerHTML = "<img src='" + src + "' width=80; height=80;>";
var chosenhead = chosenid;
}
然后,我还有将该变量发送到下一页的函数:
function send() {
window.location.href = "test3.php?head=" + chosenhead;
}
我得到的只是错误:chosenhead is not defined
希望你们能帮我解决这个问题。
答案 0 :(得分:1)
只需在全局声明变量chosenhead
。您的head.innerHTML
分配也不正确。
示例代码
var chosenhead;
function headHide(src, chosenid) {
var head = document.getElementById("head");
var HeadItems = document.getElementById('HeadItems');
HeadItems.style.display = 'none';
head.innerHTML = "<img src='" + src + "' style='width=80; height=80;'>";
chosenhead = chosenid;
}
function send() {
window.location.href = "test3.php?head=" + chosenhead;
}
如果你只使用chosenid
中传递的参数function send()
,那还不会更好吗?它看起来像一个全局变量。
答案 1 :(得分:0)
您在函数内定义了您的selectedhead变量..所以它只能在此函数的范围内访问。将其移到函数外:
var chosenhead = '';
function HeadShow() {
var HeadItems = document.getElementById('HeadItems');
HeadItems.style.display = 'block';
}
function headHide(src, chosenid) {
var head = document.getElementById("head");
var HeadItems = document.getElementById('HeadItems');
HeadItems.style.display = 'none';
head.innerHTML = "<img src='" +src+ "' width=80; height=80;>";
chosenhead = chosenid;
}
function send()
{
window.location.href = "test3.php?head=" + chosenhead;
}
答案 2 :(得分:0)
改变一下:
var chosenhead = null; // define globally
function headHide(src, chosenid) {
var head = document.getElementById("head");
var HeadItems = document.getElementById('HeadItems');
HeadItems.style.display = 'none';
head.innerHTML = "<img src='" +src+ "' width=80; height=80;>";
chosenhead = chosenid;
}
function send()
{
if ( chosenhead != null )
window.location.href = "test3.php?head=" + chosenhead;
else {
// some error handling ...
}
}
答案 3 :(得分:0)
您需要将chosenhead
变量定义为全局变量。
那样做
var chosenhead = '';
然后在
中调用它function send()
{
window.location.href = "test3.php?head=" + chosenhead;
}