2017-08-01 5 views
7

का उपयोग कर प्रपत्र आईडी का उपयोग कर एक formData वस्तु बनाने रहा हूँ और निम्नलिखित कर रहा था:वस्तु पुनरावृत्ति formData के माध्यम से, जावास्क्रिप्ट

var formDataDetails = new FormData(document.getElementById("form_id")); 
for (var entry of formDataDetails{ 
    res[entry[0]] = entry[1]; 
} 

Am बाद में JSON stringify कर रहे हैं और पोस्ट कर।

लेकिन मुझे हाल ही में पता चला है कि for..of लूप अभी तक 'इंटरनेट एक्सप्लोरर' में समर्थित नहीं है। और मेरा मानना ​​है कि for..in लूप का उपयोग सही नहीं है क्योंकि यह गणना करने योग्य वस्तुओं (ऑब्जेक्ट के गुणों के माध्यम से लूप) के माध्यम से पुन: उपयोग करने के लिए उपयोग किया जाता है।

इंटरनेट एक्सप्लोरर के लिए फॉर्मडाटा के माध्यम से पुनरावृत्ति के बारे में मुझे कैसे जाना चाहिए?

+1

अभी तक कोई जवाब नहीं है। फॉर्म विवरण कैप्चर करने और पोस्ट करने का सबसे अच्छा तरीका क्या होगा, ताकि कोड आईई में भी काम करे? –

+0

मुझे एक ही समस्या का सामना करना पड़ रहा है। मैं अभी भी निपटने की कोशिश कर रहा हूं .. सिरदर्द आ रहा है। – Delphine

उत्तर

0

मुझे यह पता चल रहा है कि, इस पोस्ट के रूप में, आईई अभी भी फॉर्मडाटा ऑब्जेक्ट्स के माध्यम से लूप के लिए विश्वसनीय रूप से काम नहीं कर रहा है। तो, मेरा समाधान, केवल फॉर्मडाटा से बचें जब आपको संग्रह को फिर से चालू करने की आवश्यकता होगी। यदि आप फॉर्म डेटा पोस्ट करने के लिए इसका उपयोग कर रहे हैं तो फॉर्मडाटा आईई में ठीक काम करता है।

यदि आपको भेजे जाने से पहले फॉर्म के मानों को फिर से शुरू करने की आवश्यकता है, तो आप ऐसा कर सकते हैं जैसा कि मैं करता हूं - बस form.elements संग्रह के साथ सीधे काम करें।

कुछ इस तरह:

export function form2Obj(f) { 
    var elemArray = f.elements; 
    var formObj = {}; 
    for (var k in elemArray) { 
     var input = elemArray[k]; 
     if (!input || !input.name || !input.value) continue; 
     formObj[input.name] = input.value; 
     // etc, need special handling for inputs of type radio 
     // checkbox, textarea, and select most likely 
    } 
    return formObj; 

}

रिकॉर्ड के लिए, मैं webpack उपयोग कर रहा हूँ ES6 को संकलित करने के लिए। जब मैं देव मोड में संकलित करता हूं तो मैं लूप के लिए संभाल सकता हूं। जब मैं उत्पादन मोड में संकलित करता हूं आईई काम नहीं करता है।

+1

मजेदार बात यह है कि, हर बार जब मैं अपने ऐप का परीक्षण करने के लिए आईई खोलता हूं, तब भी यह मुझसे पूछ रहा है "क्या आप आईई को अपना डिफ़ॉल्ट ब्राउज़र बनाना चाहते हैं?"। प्रफुल्लित। – jomofrodo

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