javascript - Different Behavior of XMLHttpRequest for <input type="button"> vs. <button> -


निम्न कोड पर विचार करें:

index.html

  & lt;! DOCTYPE HTML PUBLIC "- // W3C // DTD एचटीएमएल 4.01 // एन" "http://www.w3.org/TR/html4/strict.dtd"> & LT; html & gt; & Lt; शीर्ष & gt; & Lt; स्क्रिप्ट प्रकार = "टेक्स्ट / जावास्क्रिप्ट" src = "script.js" & gt; & lt; / स्क्रिप्ट & gt; & Lt; / head & gt; & LT; बॉडी & gt; & LT; प्रपत्र & gt; & Lt; बटन आईडी = "getInfoButton1" & gt; & lt; / बटन & gt; & Lt; इनपुट प्रकार = "बटन" id = "getInfoButton2" & gt; & lt; / input & gt; & Lt; / प्रपत्र & gt; & Lt; / body & gt; & Lt; / html & gt;   

Var रेक; फ़ंक्शन initAll () {document.getElementById ("getInfoButton1")। Onclick = getInfo; Document.getElementById ("getInfoButton2")। Onclick = getInfo; } Function getInfo () {req = new XMLHttpRequest (); Var URL = "index.html"; Req.open ("GET", यूआरएल, सच); Req.onreadystatechange = whatsTheStatus; req.send (शून्य); } कार्य whatsTheStatus () {if (req.readyState! = 4) {return; } अलर्ट (रिक। स्टैटस); }

(मैंने अपने कोड को बहुत बढ़ा दिया है, लेकिन यह उदाहरण अभी भी त्रुटि को हाइलाइट करता है)

सवाल यह है: जब आप इसे लोड करते हैं, और क्लिक करें दोनों बटन, पहले एक 0 की स्थिति प्रदर्शित करेगा, जबकि दूसरा एक 200 की स्थिति प्रदर्शित करेगा।

बेशक, मैं 200 को दिखाने के लिए दोनों की उम्मीद है, और मुझे नहीं पता कि क्यों & lt; बटन & gt; अलग ढंग से व्यवहार कर रहा है यह एक बहुत बड़ा सौदा नहीं है, लेकिन मैं अपनी साइट में & lt; बटन & gt; के समान उपयोग को बनाए रखना चाहूंगा।

मैंने वेब के आसपास देखा है और कुछ अन्य मेरी कंपनी में डेवलपर्स, और हम जवाब खोजने के लिए प्रतीत नहीं कर सकते। कोई विचार?

यदि यह मदद करता है, तो मैं Firefox 3.6.8 पर परीक्षण कर रहा हूं। इसके अलावा, मैं इसे स्थानीय होस्ट से WAMPserver 2.0 के माध्यम से चला रहा हूं।

आपको & lt; & lt; इनपुट प्रकार = "बटन" & gt;

के व्यवहार को पुन: उत्पन्न करने के लिए बटन प्रकार = "बटन" & gt; यदि आप & Lt; बटन & gt; यह सबमिट करें (बग के कारण IE & lt; 8 को छोड़कर) इस कारण से आपको हमेशा प्रकार पर < कोड> & lt; बटन & gt; )। एक सबमिट बटन फॉर्म को सबमिट करने का कारण होगा, एक नेविगेशन पैदा करेगा और XMLHttpRequest रद्द करेगा।

सामान्य तौर पर आपको onclub के बजाय onclick पर फंसने चाहिए कोड> एक विशेष बटन पर, यह सुनिश्चित करने के लिए कि आपको फॉर्म को अन्य माध्यमों से सबमिट किया गया है जैसे कि एन्टर दबाया जा रहा है (परिणामस्वरूप आप एक सामान्य सबमिट करें बटन का उपयोग कर सकते हैं।) फॉर्म सबमिशन को आगे बढ़ने से रोकने के लिए ईवेंट हैंडलर से वापसी झूठा का उपयोग करें।


Comments

Popular posts from this blog

c# - sqlDecimal to decimal clr stored procedure Unable to cast object of type 'System.Data.SqlTypes.SqlDecimal' to type 'System.IConvertible' -

Calling GetGUIThreadInfo from Outlook VBA -

Obfuscating Python code? -