我的html代码中有这个脚本
<script typre="text/javascript">
var img = new Array();
img[0] = new Image();
img[0].src = "../images/poggiatesta2.jpg";
img[1] = new Image();
img[1].src = "../images/poggiatesta1.JPG";
for (var i = 0; i < img.length; i++) {
var imagetag = document.createElement("img");
var onclick = document.createAttribute("onclick");
onclick.value = "myfun("+i+")";
var sorc = document.createAttribute("src");
sorc.value = img[i].src;
var id = document.createAttribute("id");
id.value = "my_image" + i;
var clas = document.createAttribute("class");
clas.value = "my_image_clas";
imagetag.setAttributeNode(clas);
imagetag.setAttributeNode(onclick);
imagetag.setAttributeNode(sorc);
imagetag.setAttributeNode(id);
document.body.appendChild(imagetag);
};
function myfun(i) {
var src1 = document.getElementById('my_image' + i).src;
alert(src1);
}
</script>
它允许我将所选图像的src存储在var中。现在我试图进行检查,这意味着如果我没有选择任何这样的图像,则会弹出警告消息:
function controllo() {
if ((src1 == "") || (src1 == "undefined")) {
alert("Select an image.");
}
else {
location.href = "schienale.html";
}
}
问题在于,src1是一个本地var,如何检索其数据以完成我的检查功能?
答案 0 :(得分:1)
您可以将src1
存储为全局(最好使用namespace,但为了这个问题,全局会这样做)
<script typre="text/javascript">
var src1; //Notice i've declared the variable here.
var img = new Array();
img[0] = new Image();
img[0].src = "../images/poggiatesta2.jpg";
...
然后在myFunc
做:
function myfun(i) {
src1 = document.getElementById('my_image' + i).src;
alert(src1);
}
这将使src1
随处可用。
或者,如果可能,将src1传递到您的controllo
函数中。
这是首选方法,因为它可以防止混乱全局命名空间,但需要在其他地方更改代码。
这可能会帮助你提示:
controllo(src1)
function controllo(src1) {
if ((src1 == "") || (src1 == "undefined")) {
alert("Select an image.");
}
else {
location.href = "schienale.html";
}
}