के भीतर नहीं बुलाया गया विफल रहता है, मैं छवि के साथ आने वाले अन्य पोस्ट डेटा के साथ, मेरे सर्वर पर एक छवि को ठीक से अपलोड करने के लिए SWFUpload प्राप्त करने का प्रयास कर रहा हूं। डेटा भरने के लिए एक फॉर्म है, इसलिए उपयोगकर्ता ब्राउज़ बटन पर क्लिक करने के बाद और उसकी छवि फ़ाइल का चयन करता है, छवि तुरंत अपलोड नहीं होती है। यह कतार में रखा जाता है जब तक कि उपयोगकर्ता एक भेजें बटन पर क्लिक नहीं करता है, फिर मैं mySwfUploadInstance.startUpload() को कॉल करता हूं ताकि अपलोड शुरू हो जाए।SWFUpload startUpload() फ़ाइल_dialog_complete_handler
लेकिन यह समारोह 'callFlash' में swfupload.js की लाइन 452 पर बुरी तरह विफल रहता है:
Object #<HTMLObjectElement> has no method 'CallFunction'
Uncaught Call to ReturnUploadStart failed
अपवाद इस त्रुटि फेंकने से पहले पकड़े जाने पीछा कर रहा है
निम्न फ़ंक्शन में:
SWFUpload.prototype.callFlash = function (functionName, argumentArray) {
argumentArray = argumentArray || [];
var movieElement = this.getMovieElement();
var returnValue, returnString;
// Flash's method if calling ExternalInterface methods (code adapted from MooTools).
try {
returnString = movieElement.CallFunction('<invoke name="' + functionName + '" returntype="javascript">' + __flash__argumentsToXML(argumentArray, 0) + '</invoke>');
returnValue = eval(returnString);
} catch (ex) {
throw "Call to " + functionName + " failed";
}
// Unescape file post param values
if (returnValue != undefined && typeof returnValue.post === "object") {
returnValue = this.unescapeFilePostParams(returnValue);
}
return returnValue;
};
movieElement एक वैध फ़्लैश ऑब्जेक्ट की तरह दिखता है।
मुझे लगता है कि त्रुटि नहीं मिलता है अगर मैं startUpload() फ़ंक्शन के अंदर मैं जब SWFUpload आरंभ file_dialog_complete_handler के पास फोन:
function ImageFileDialogComplete(numFilesSelected, numFilesQueued)
{
try
{
this.startUpload();
}
catch (ex)
{
this.debug(ex);
}
}
मैं वास्तव में उपयोगकर्ता को पूरा करता है जब करने के लिए अपलोड स्थगित करने के लिए सक्षम होना चाहिए फॉर्म भेजें और भेजें बटन पर क्लिक करें।
किसी भी विचार को SWFUPload के साथ क्या गलत है जब मैं स्टार्टउप्लोड() को पूर्ण हैंडलर से बाहर कॉल करता हूं?
इस उत्तर को पोस्ट करने के लिए धन्यवाद - आपने मुझे – Jeremy
डिबगिंग के कई घंटे बचाए हैं क्या आपको बेहतर समाधान मिला है? अपलोड करने के बाद मुझे कंटेनर छिपाने की जरूरत है। – Teddy
कंटेनर को छिपाने के बजाय मुझे एक बेहतर समाधान मिला, मैंने कंटेनर चौड़ाई और ऊंचाई 1px और डिस्प्ले ब्लॉक सेट किया। – Teddy