मैं जो का उपयोग करता है एक हैक विभिन्न स्थानों में वर्णित उपयोग करने की कोशिश:पता करें कि 'रद्द करें' फ़ाइल इनपुट पर क्लिक किया गया
document.body.onfocus = checkOnCancel();
एक उदाहरण:
var fileSelectEle = document.getElementById('fileinput');
fileSelectEle.onclick = charge;
function charge()
{
document.body.onfocus = checkOnCancel;
}
function checkOnCancel()
{
alert("FileName:" + fileSelectEle.value + "; Length: " + fileSelectEle.value.length);
if(fileSelectEle.value.length == 0) alert('You clicked cancel!')
else alert('You selected a file!');
document.body.onfocus = null;
}
वहाँ कुछ गड़बड़ यहाँ है? क्योंकि fileSelectedEle.value
हमेशा पिछले निष्पादन मान देता है और उपयोगकर्ता द्वारा चयनित नहीं किया जाता है। क्या यह इनपुट फ़ाइल का अपेक्षित व्यवहार है? चयनित वास्तविक फ़ाइल को पढ़ने के लिए इसे कैसे हल करें?
आप द्वारा त्रुटि पुन: पेश कर सकते हैं:
चरण 1: SelectFile - कुछ कुछ फ़ाइल का चयन करें (और नोटिस उत्पादन)
चरण 2: SelectFile - प्रेस को रद्द (और नोटिस आउटपुट)
क्या आपका मतलब है 'document.body.onfocus = checkOnCancel;'? (कोई फंक्शन कॉल नहीं।) – Scimonster
@ सिकिमोनस्टर - नहीं, मेरा मतलब है document.body.onfocus = checkOnCancel(); (फ़ंक्शन कॉल के साथ) – SamSharma