如何从本地var中检索数据

时间:2016-02-22 16:17:59

标签: javascript html

我的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,如何检索其数据以完成我的检查功能?

1 个答案:

答案 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";
    }
}