मैंने कुछ जावास्क्रिप्ट लिखा है ताकि एचटीएमएल फॉर्म में वस्तुओं की सूची संपादित करने की अनुमति दी जा सके, जिसमें आइटम जोड़ने और निकालने सहित। यह फ़ायरफ़ॉक्स में काम कर रहा है। इंटरनेट एक्सप्लोरर में इसे आजमाते समय, मैंने पाया कि किसी भी अतिरिक्त आइटम को फ़ॉर्म के साथ सबमिट नहीं किया जा रहा था।आईई सबमिट नहीं कर रहा है; गतिशील रूप से जोड़ा तत्व तत्व; क्या यह एक आईई बग है?
लंबी कहानी लघु ... सरलीकरण के बहुत सारे, डिबगिंग, यह पता लगाया गया है कि कौन सी रेखा आईई को नए फॉर्म इनपुट को अनदेखा करने के लिए ट्रिगर कर रही है। तो व्यवहार की समस्या हल हो जाती है।
लेकिन अब मुझे पूछना चाहिए: क्यों? क्या यह एक आईई बग है?
<html>
<head>
<title>Test</title>
<script type="text/javascript">
function add() {
div = document.getElementById("mylist");
// *** Adding text here works perfectly fine. ***
div.innerHTML += " ";
e = document.createElement("input");
e.setAttribute("type", "text");
e.setAttribute("name", "field3");
e.setAttribute("value", "--NEWVALUE--");
div.appendChild(e);
// *** Adding text here works perfectly fine in Firefox, but for
// Internet Explorer it causes field3 to not be submitted. ***
//div.innerHTML += " ";
}
</script>
</head>
<body>
<form action="" method="get">
<div id="mylist">
<input type="text" name="field1" value="value1" />
<input type="text" name="field2" value="value2" />
</div>
<a href="javascript:" onclick="add()" />Add</a>
<input type="submit" value="Submit" />
</form>
</body>
</html>
इसे आज़माने के लिए, स्पष्ट करना: IE में लोड, जोड़ें क्लिक करें, क्लिक करें, जमा करें क्या पता पट्टी में है देखने के
यहाँ सरलीकृत कोड है। यदि आप add()
में अंतिम पंक्ति को अनमोल करते हैं, तो आईई अचानक field3
रिपोर्टिंग बंद कर देगा। यह फ़ायरफ़ॉक्स में किसी भी तरह से ठीक काम करता है।
कोई विचार? एक उत्सुक मन जानना चाहता है। (और यदि पोर्टेबल फैशन में आवश्यक हो तो मैं टेक्स्ट कैसे जोड़ूं, तो आईई खुश है?)
setAttribute से परहेज पर +1। -1 createElement-साथ-मार्कअप कॉल जो एक आक्रामक रूप से बदसूरत है पर IE-केवल हैक। – bobince
मैं इसे एक हैक होने के बारे में सहमति व्यक्त करते हैं - जिसके कारण मैं पोस्टर पहले गुण स्थापित करने की कोशिश का सुझाव दे रहा हूँ। अगर यह काम नहीं करता है, तो मुझे वह बनने का एक और तरीका नहीं दिखता है जो वह चाहता है। – levik