आज इंटरनेट एक्सप्लोरर में एक स्पष्ट बग मिला, लेकिन अनुसंधान के माध्यम से सत्यापित करने में असमर्थ। क्या किसी ने इसका सामना किया है और/या कृपया समझा सकता है?क्यों इंटरनेट एक्सप्लोरर लगातार सबमिट घटना को ट्रिगर नहीं करता है?
सार
इंटरनेट एक्सप्लोरर (कम से कम 9 और 11) हमेशा गति प्रदान नहीं करता है (या संभाल?) घटना सबमिट करें। एक मामला नोट किया गया जहां सबमिट बटन पर क्लिक करने से कुछ हद तक जल्दी से कुछ सबमिट किए जाने का कारण बनता है। क्रोम और फ़ायरफ़ॉक्स में यह समस्या नहीं देखी गई है।
टेस्ट मामले
- एकल इनपुट और एकल सबमिट बटन के साथ सरल रूप है।
- फार्म पर जावास्क्रिप्ट हैंडलर प्रस्तुत: प्रदर्शन
submit
, और फिर वापस जाने के झूठे - जावास्क्रिप्ट सबमिट बटन के क्लिक पर संभालती है: प्रदर्शन
click
- jQuery स्पष्टता के लिए इस्तेमाल किया (एक ही मुद्दा बराबर गैर jQuery समाधान के साथ देखा जाता है)
- परीक्षण निष्पादित करने के लिए, उपयोगकर्ता को सबमिट बटन को जल्दी से डबल-क्लिक करना होगा और देखें कि कौन सी घटनाएं प्रबंधित की जाती हैं।
टेस्ट परिणाम
फ़ायरफ़ॉक्स और क्रोम काम अपेक्षा के अनुरूप:
click
submit
click
कोई दूसरा प्रस्तुत है:
click
submit
click
submit
इंटरनेट एक्सप्लोरर कुछ (हमेशा की तरह) अजीब करता है ! केवल आईई के साथ, क्लाइंट हैंडलर को नहीं कहा जाता है, और फिडलर दिखाता है कि अनुरोध उत्पादन वातावरण में कभी नहीं होता है। (ध्यान दें कि यह उदाहरण कोड वास्तव में अनुरोध को पोस्ट नहीं करेगा, return false
के कारण।)
कार्य स्निपेट: कृपया नीचे स्क्रॉल करें और रन स्निपेट पर क्लिक करें, फिर सबमिट बटन पर डबल क्लिक करने का प्रयास करें, और परिणामों का निरीक्षण करें। JSFiddle
feedback = function (t) {
$div = $("<div class='line'></div>");
$div.html(t);
$("#feedback").append($div);
};
$("#theForm").on("submit", function (e) {
feedback("submit");
return false; // don't actually submit form, or SO chokes
});
$("#btnSubmit").on("click", function (e) {
feedback("click");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id='theForm' action="DISABLED BY RETURN FALSE" method="POST">
<input type='text' />
<input id='btnSubmit' type='submit' />
</form>
<div id='feedback'></div>