2012-03-20 18 views
14

मेरे पास मेरे रूप में एक छिपी हुई इनपुट फ़ील्ड है। मैंने देखा कि यदि उस फ़ील्ड का मान जावास्क्रिप्ट द्वारा बदला जाता है, और फिर उपयोगकर्ता पृष्ठ को रीफ्रेश करता है, तो पृष्ठ वही लोड होने पर वही मान सेट किया जाएगा। मैंने जो देखा है, उससे यह केवल फ़ायरफ़ॉक्स में होता है।फ़ायरफ़ॉक्स कैश छुपा इनपुट

मुझे लगता है कि छिपे हुए इनपुट को autocomplete="off" जोड़कर इस अवांछित व्यवहार का हल है, लेकिन W3C इस समाधान पसंद नहीं करता है, और अगर मैं पृष्ठ को मान्य मैं त्रुटि मिलती है: जाहिर है

Attribute autocomplete not allowed on element input at this point. 

, autocomplete विशेषता केवल विशिष्ट जानकारी पर काम करता है - see here.

तो वहाँ किसी भी समाधान है कि दोनों W3C और फ़ायरफ़ॉक्स को पूरा करेगा?

+0

'स्वत: पूर्ण' टैग केवल HTML5 में मान्य है, इसलिए मैं प्रश्न में html5 टैग जोड़ रहा हूं। – jmlnik

+0

यह भी देखें http://stackoverflow.com/questions/2486474/preventing-firefox-from-remebering-the-input-value-on-refresh-with-meta-tag – user123444555621

+0

@ Pumbaa80, tamir पहले से ही 'autocomplete =' का उपयोग करने का प्रयास कर रहा है बंद "' लेकिन यह spec के अनुसार '<इनपुट प्रकार =" छुपा ">' पर मान्य नहीं है। क्या आप कैश टैग/हेडर का सुझाव देते हैं कि फ़ायरफ़ॉक्स को फ़ॉर्म को स्वत: पूरा करने से रोका जाएगा? – jmlnik

उत्तर

11

प्रमाणित करने के लिए (जो मैं के रूप में आप कर रहे हैं में के रूप में ज्यादा प्रयास नहीं डाल) मुझे लगता है कि आप पूरे फार्म पर autocomplete="off" इस्तेमाल कर सकते हैं, तो, उसे वापस चालू चुनिंदा इस तरह:

<!DOCTYPE html> 
<html> 
<head> 
    <title>TEST</title> 
</head> 
<body> 
    <form autocomplete="off"> 
     <input type="hidden" name="test"> 
     <input type="text" name="otherfield" autocomplete="on"> 
    </form> 
</body> 
</html> 

मैं शुरू में सोचा था कि यह एक फ़ायरफ़ॉक्स बग था लेकिन टिप्पणियों में रॉबर्टक के साथ चर्चा के बाद, मुझे लगता है कि अपेक्षित व्यवहार विशिष्ट उपयोग मामलों पर निर्भर करता है। यह कल्पना छिपे हुए क्षेत्रों पर स्वत: पूर्णता की अनुमति नहीं देती है, इसलिए मेरी पहली प्रतिक्रिया अभी भी सही महसूस करती है, लेकिन फ़ायरफ़ॉक्स के कार्यान्वयन में इसका समर्थन करने के लिए कुछ अच्छे तर्क हो सकते हैं। कृपया टिप्पणी करें।

+0

फ़ायरफ़ॉक्स जब आप पुनः लोड करते हैं (और आगे और पीछे जाएं) फ़ायरफ़ॉक्स सभी फॉर्म फ़ील्ड की स्थिति को कैश करता है, तो यह बुरा नहीं है, यह एक सुविधा है। – robertc

+0

काम करता है :) धन्यवाद। – tamir

+1

@robertc, कैशिंग फ़ील्ड जिन्हें उपयोगकर्ता द्वारा संपादित किया जा सकता है, अच्छा है, लेकिन छिपे हुए फ़ील्ड कैशिंग?!? यह उपयोगी या सुविधा कैसे है? मेरा मानना ​​है कि एफएफ टीम ने उस उपयोग के मामले के बारे में सोचा नहीं था और spec को सही ढंग से लागू नहीं किया था। – jmlnik

3

वैकल्पिक रूप से, आप इसके बजाय <input type="text" style="display: none;" autocomplete="off" /> का उपयोग कर सकते हैं। यह एक हैक का थोड़ा सा है, लेकिन यह काम करना चाहिए!

फ़ायरफ़ॉक्स में कैशिंग वास्तव में बहुत अच्छी सुविधा है, लेकिन जब आप अधिक गतिशील रूप बनाते हैं तो इससे कुछ समस्याएं होती हैं।

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