में jQuery द्वारा सेट आईफ्रेम 'नाम' विशेषता का अजीब व्यवहार मैं एक फॉर्म में फ़ाइल को एक आईफ्रेम में पोस्ट करके एक AJAX शैली फ़ाइल अपलोड कर रहा हूं और आईई में कुछ अजीब व्यवहार देखा है (ऐसा लगता है कि 6 & दोनों में होता है 8)। मूल रूप से आईई में फॉर्म target
iframe ठीक से नहीं है, इसलिए प्रतिक्रिया एक नई विंडो (iframe में के बजाय) में दिखाई देती है। आप HTML/जे एस के निम्नलिखित न्यूनतम सेट के साथ समस्या को पुन: कर सकते हैं:आईई
<html>
<head>
<script src="http://code.jquery.com/jquery-1.3.2.js"></script>
<script>
$(document).ready(function(){
var frameName = "myFrame";
var $iframe = $("<iframe src=\"about:blank\" />")
.attr("name", frameName)
.appendTo("body");
var $uploadForm = $("<form action=\"http://www.google.com/search\" />")
.attr("target", frameName)
.append("<input type=\"text\" name=\"q\" />")
.append("<input type=\"submit\" />")
.appendTo("body");
});
</script>
</head>
<body>
</body>
</html>
अब
(इससे पहले कि आप एक जवाब के बाद), मैं कुछ जांच (IE8 के डेवलपर उपकरण का उपयोग कर) किया था और ऐसा लगता है कि वास्तव में .attr("name", frameName)
जोड़ रहा है name="myFrame"
के बजाय submitName="myFrame"
के रूप में विशेषता। इस आधार पर, मैं थोड़ा nastier करने के लिए iframe निर्माण कोड बदल कर समस्या हल हो जाती:
var $iframe = $("<iframe src=\"about:blank\" name=\"" + frameName + "\" />")
.appendTo("body");
यह परिवर्तन करने iframe में प्रपत्र पोस्ट के रूप में वांछित बनाता है।
- नहीं
.attr("name", ...)
काम क्यों अपेक्षा के अनुरूप है:मेरे सवालों का कर रहे हैं?
- क्या यह jQuery में एक बग है, आईई में एक बग (निश्चित रूप से नहीं!?!), या क्या मुझे कुछ याद आ रही है?
submitName
विशेषता & से कहां से आती है इसका उद्देश्य क्या है?
पृष्ठभूमि के लिए धन्यवाद, मुझे लगता है कि यह एक निश्चित उत्तर है जैसा कि मैं प्राप्त करने जा रहा हूं, किसी भी पूर्व-आईई डेवलपर्स पोस्टिंग को रोक रहा हूं (हालांकि मैं उन्हें इस तथ्य को स्वीकार करने की कल्पना नहीं कर सकता: पी), इसलिए मैं स्वीकार कर रहा हूं यह। यह जानकर अच्छा लगा कि कम से कम बग वास्तव में IE8 में चला जाता है यदि आपके पास सही कार्यप्रणाली है। आप चीजों को आप का उल्लेख के साथ कोई समस्या का अनुभव किया है - – Alconja
'getElementsByName', रेडियो-समूहीकरण और इतने पर भी काम कर रहे हैं, हालांकि' name' गुण ही केवल 'submitName'" विशेषताओं का "परिवर्तन रहने लगते हैं? मैंने IE8 में i7 संगतता मोड में इसका परीक्षण किया, और सब कुछ काम करने लग रहा था। – cic
कुछ अधिक जानकारी: http://thunderguy.com/semicolon/2005/05/23/setting-the-name-attribute-in-internet-explorer/ – cic