未捕获的ReferenceError:未定义showimage

时间:2016-07-18 06:34:02

标签: javascript jquery

我试图在用户上传时调用函数显示上传的图像预览,当我将它用于特定的DIv ID时,它工作正常但是当我尝试创建一个通用函数时,它给了我未捕获引用的错误每次上传文件时都会出错。

我的代码如下。 Java脚本:

    <script type="text/javascript">
$(function showimage (v) {

    $('#'+v).change(function () {

        if (typeof (FileReader) != "undefined") {
            var value = v.value;    
            var dvPreview = $("#dvPreview");
            dvPreview.html("");
document.getElementById(v).innerHTML = "mycontent";
            var regex = /^([a-zA-Z0-9\s_\\.\-:])+(.jpg|.jpeg|.gif|.png|.bmp)$/;
            $($(this)[0].files).each(function () {
                var file = $(this);
                if (regex.test(file[0].name.toLowerCase())) {
                    var reader = new FileReader();
                    reader.onload = function (e) {
                        var img = $("<img />");
                        img.attr("style", "height:100px;width: 100px");
                        img.attr("src", e.target.result);
                        dvPreview.append(img);
                    }
                    reader.readAsDataURL(file[0]);
                } else {
                    alert(file[0].name + " is not a valid image file.");
                    dvPreview.html("");
                    return false;
                }
            });
        } else {
            alert("This browser does not support HTML5 FileReader.");
        }
    });
});

</script>

HTML代码:

 <input class="myinput" id="img1" onchange="showimage(img1)" type="file" name="profile_image" value="Browse.." />
  </p><div id="dvPreview"> </div> </td></label>

任何想法是什么问题???

1 个答案:

答案 0 :(得分:0)

在加载DOM之前包含javascript代码。这应该工作。 将它包含在body标记的末尾或head部分中(如果javascript代码很小且没有bug的可能性)