如果未找到图像src,则隐藏input =“image”

时间:2010-02-22 10:57:14

标签: asp.net html

如果找不到源图像,我正在使用以下JavaScript函数隐藏我网页上的图片:

function Image_OnError(image) {
    image.onerror = "";
    image.style.visibility = "hidden";
    return true;
}

我将以下属性添加到我的图片中,如果发生错误onerror="Image_OnError(this);",则会调用上述方法。

问题是我需要对<input type="image" />元素执行相同的操作,但无法弄清楚如何执行此操作,因为输入元素似乎没有OnError事件。

我可以只包含一个与输入相同的src值的额外图像,然后在图像的OnError事件中修改输入元素的可见性,但这看起来有点乱。

2 个答案:

答案 0 :(得分:2)

如果您想要半黑客,可以使用jQuery的“document.ready”事件,并检查输入的高度。

编辑:回答你回答上面的飞行员问题... 你可以使用asp:LinkBut​​ton,并将图像内容包装为内容 ...然后使用LinkBut​​ton的OnCommand事件。

答案 1 :(得分:0)

它有同样的错误事件。这个适用于我(至少在chrome中):

<input type="image" onerror="alert(1);" src="http://xxx" />

另一种可能的方法是在JS中加载图像:

关于文档加载:

$('input[type="image"]').each(function(){
    var img = new Image();
    var input = this;
    img.onerror = function() { Image_OnError(input); }
    img.src = this.src;
})

此外,您最好从头开始隐藏它们,并仅显示已成功加载图像的元素。否则你可能会在页面上跳过元素。