2010-02-22 11 views
8

मैं घटना में मेरे वेब पेज पर छवियों को छिपाने के लिए है कि स्रोत छवि नहीं मिला है निम्न JavaScript समारोह का उपयोग कर रहा:छिपाएं इनपुट = "छवि" यदि छवि src नहीं मिला

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

मैं जोड़ने के निम्नलिखित मेरी छवियों में विशेषता जो उपरोक्त विधि को onerror="Image_OnError(this);" त्रुटि की स्थिति में कॉल करती है।

समस्या यह है कि मुझे <input type="image" /> तत्वों के लिए ऐसा करने की आवश्यकता है, लेकिन यह पता नहीं लगा सकता कि इनपुट तत्व में OnError ईवेंट नहीं दिखता है।

मैं इनपुट के समान स्रोत मूल्य के साथ एक अतिरिक्त छवि शामिल कर सकता हूं और फिर छवि के ऑनरर ईवेंट पर इनपुट तत्व की दृश्यता को संशोधित कर सकता हूं, लेकिन यह थोड़ा गन्दा लगता है।

+0

कोई कारण नहीं है कि आप इसे टैग में बदल सकते हैं? – vpram86

+0

इनपुट तत्व को एएसपी से बनाया जा रहा है: ImageButton सर्वर नियंत्रण जिसे मुझे आवश्यक ऑनकॉन्ड ईवेंट बढ़ाने के लिए उपयोग करने की आवश्यकता है। –

उत्तर

2

यदि आप अर्ध-हैक चाहते हैं, तो आप jQuery के "document.ready" ईवेंट का उपयोग कर सकते हैं और इनपुट की ऊंचाई की जांच कर सकते हैं।

संपादित करें: यदि आप के जवाब में ऊपर एविएटर के सवाल ... का जवाब कर रहे हैं तुम सिर्फ एक एएसपी इस्तेमाल कर सकते हैं: LinkButton, और सामग्री के रूप में यह के अंदर एक छवि लपेटो ... और फिर से OnCommand घटना का उपयोग लिंकबटन

+0

+1 में शुरू नहीं करेगा यह बढ़िया काम करता है। धन्यवाद। –

0

यह एक ही आतंकवादी घटना है। यह एक (कम से कम क्रोम में) मेरे लिए काम करता है:

दस्तावेज़ लोड पर

:

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

एक अन्य संभावित रास्ता जे एस में छवि को लोड करने के लिए है

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

इसके अलावा, आप बेहतर चाहते उन्हें शुरुआत से छुपाएं और छवियों को सफलतापूर्वक लोड किए गए तत्वों को दिखाएं। अन्यथा आपके पास पृष्ठ पर कूदने वाले तत्व होंगे।

+0

हाँ मुझे यह कहना चाहिए था, मैंने क्रोम पर इसका परीक्षण किया और यह ठीक काम करता है, लेकिन आईई हमेशा की तरह एक और कहानी है ... –

+0

आईई 8 भी काम करता है :-) आप किस आईई का उपयोग करते हैं? – Qwerty

+0

अद्यतन उत्तर भी देखें :-) – Qwerty

संबंधित मुद्दे