2015-04-28 12 views
9

मैं सेटअप स्वत: पूर्ण करने के लिए गूगल मैप्स जावास्क्रिप्ट v3 उपयोग कर रहा हूँ एक HTML इनपुट क्षेत्र पर तो जैसे के लिए स्वत: पूर्ण को शामिल किया गया:Chrome के स्वतः भरण गूगल मैप्स एपीआई v3

http://imgur.com/Rm6X2FI.png - (w/बाहर स्वत: भरण)

मुद्दा मैं मीटर होने कि Chrome की स्वत: भरण इस तरह नक्शे स्वत: पूर्ण को शामिल किया गया है:

http://imgur.com/7a2QM7L.png - (w/स्वत: भरण)

मैं ऑनलाइन एक समाधान पहले कुछ महीनों (संदर्भ: Disabling Chrome Autofill) पाया है, लेकिन ऐसा लगता है कि इस समाधान का कोई प्रभाव नहीं है।

<input type="text" name="address" id="address_fake" autocomplete="off" style="display:none"> 
<input type="text" name="address" id="address" autocomplete="off" placeholder="Address" /> 

क्या कोई तरीका है कि मैं क्रोम के ऑटोफिल को Google मानचित्र स्वत: पूर्ण सूची के शीर्ष पर दिखने से रोक सकता हूं?

धन्यवाद!

संपादित करें: Stop Google chrome auto fill the input मेरे वर्तमान मुद्दे का समाधान प्रदान नहीं करता है। यह मुद्दा इनपुट फ़ील्ड पर क्रोम ऑटोफिल ड्रॉपडाउन के साथ है, इनपुट इनपुट स्वचालित रूप से ऑटोफिल मान से भरा नहीं है।

+0

मैंने 'value =" "' की कोशिश की, लेकिन इसका इस स्थिति में कोई प्रभाव नहीं पड़ा। –

+0

मुझे 'इनपुट के बारे में प्रचारित किया गया: -webkit-autofill {display: none; } ', लेकिन कोई सिगार नहीं। –

+0

इसका कोई प्रभाव नहीं है। –

उत्तर

14

यह मुझे पूरी तरह से पागल भी चला रहा था। एक ही मुद्दा है। हम उपयोगकर्ता के चयन के लिए फ़ील्ड मानों को खींचने के लिए स्क्रिप्टिंग का उपयोग करते हैं और ब्राउज़र के ऑटो-जो भी इसे गड़बड़ नहीं करना चाहते हैं। क्रोम बगजर (नवीनतम संस्करण 42.0.2311.135 मीटर) लगता है, फ़ायरफ़ॉक्स (एफएफ) हम साथ काम कर सकते हैं।

तो, हमें ब्राउज़र के autocomplete और क्रोम के autofill से भी निपटना होगा। यदि मैं जोड़ता हूं: < फॉर्म स्वतः पूर्ण = "बंद" > शीर्ष पर तो यह स्वत: पूर्ण रूप से एफएफ और क्रोम में बंद हो जाता है लेकिन क्रोम में ऑटोफिल नहीं। 'बंद' को 'झूठी' में बदलना ब्राउज़र के लिए कुछ भी नहीं करता है। एफएफ मुद्दे को हल किया लेकिन क्रोम नहीं क्योंकि यह सामग्री पर बदसूरत ऑटोफिल बॉक्स दिखाता है।

आप स्वत: पूर्ण = "बंद" क्षेत्रों में से प्रत्येक के व्यक्तिगत रूप से फिर, एफएफ में लेकिन इनपुट फ़ील्ड कि क्रोम में इस विशेषता को स्वत: पूर्ण बंद है, लेकिन स्वत: भरण अभी भी अपनी बदसूरत सिर rears है के लिए काम करता जोड़ें।

अब, अजीब चीज यह है कि यदि आप "इनपुट" से "झूठी" में व्यक्तिगत इनपुट फ़ील्ड में मान बदलते हैं तो ऐसा लगता है कि क्रोम को हिलाएं और फ़ील्ड के लिए आपके पास यह स्वतः स्वत: पूर्ण = "झूठा" तो आप केवल स्वत: पूर्ण मान देखें (यदि पहले फ़ील्ड में कुछ भी दर्ज किया गया था) और अन्य सभी इनपुट फ़ील्ड कुछ भी नहीं दिखाते हैं! आप यह मान किसी भी या xx पर सेट कर सकते हैं या जो भी हो और स्वचालित रूप से स्वत: पूर्ण के लिए अमान्य मान पर क्रोम बारफ की तरह लगता है और फ़ॉर्म अजीब प्रतिक्रिया देता है। यदि आपके पास 5 फ़ील्ड हैं और इसे तीसरे फ़ील्ड के लिए सेट करें तो फ़ील्ड 1,2, 4 और 5 रिक्त हैं लेकिन फील्ड 3 स्वतः पूर्ण दिखाता है।

<!DOCTYPE html> 
<html> 

<head> 
    <title>Signup</title> 
</head> 

<body> 
    <form autocomplete="off" method="post"> 
    First name: 
    <input name="Firstname" type="text"> 
    <br />Last name: 
    <input name="Lastname" type="text" style="width: 124px"> 
    <br />Address: 
    <input autocomplete="false" name="Address" type="text" style="width: 383px"> 
    <br />Phone number: 
    <input name="Phone" type="text"> 
    <br />E-mail: 
    <input name="Email" type="text" style="width: 151px"> 
    <br /> 
    <input type="submit"> 
    </form> 
</body> 

</html> 

मेरे समाधान दोनों स्वत: पूर्ण और Chrome की स्वत: भरण बंद करने के लिए:

यह आप कॉपी के लिए करने के लिए और साथ गड़बड़ (विभिन्न क्षेत्रों के लिए स्वत: पूर्ण विशेषता जाने की कोशिश और देखें कि यह कैसे प्रतिक्रिया करता है) एक उदाहरण है (आप सबमिट के नीचे शीर्ष या नीचे छिपे हुए इनपुट फ़ील्ड को रखने में सक्षम होना चाहिए)।यह < इनपुट स्वत: पूर्ण = "झूठा" नाम = "छुपा" प्रकार = "पाठ" शैली = "प्रदर्शन: कोई नहीं;" कोड को >:

<!DOCTYPE html> 
<html> 

<head> 
    <title>Signup</title> 
</head> 

<body> 
    <form autocomplete="off" method="post"> 
    <input autocomplete="false" name="hidden" type="text" style="display:none;"> 
    <br />First name: 
    <input name="Firstname" type="text"> 
    <br />Last name: 
    <input name="Lastname" type="text" style="width: 124px"> 
    <br />Address: 
    <input name="Address" type="text" style="width: 383px"> 
    <br />Phone number: 
    <input name="Phone" type="text"> 
    <br />E-mail: 
    <input name="Email" type="text" style="width: 151px"> 
    <br /> 
    <input type="submit"> 
    </form> 
</body> 

</html> 

निष्कर्ष: किसी क्रोम स्वत: पूर्ण = बंद लेकिन क्रोम की स्वत: भरण समस्या है का पालन करता है। उम्मीद है की यह मदद करेगा।

+1

आप एक मास्टर हैं। फॉर्म पर' स्वत: पूर्ण = "बंद" और छिपी हुई इनपुट पर 'autocomplete = "false" होने के कारण मेरे लिए एक आकर्षण की तरह काम किया। धन्यवाद! –

+1

धन्यवाद आप! यह थोड़ी देर के लिए मुझे परेशान कर रहा था और पूरी तरह से काम करता था। – Marc

+1

नहीं, यह काम नहीं करता है, जैसे ही आपके पास इनपुट फ़ील्ड के पास एक लेबल है जो "पता" जैसा कुछ कहता है, यह बेवकूफ ड्रॉपडाउन दिखाएगा। – Overbryd

-2

कोशिश अपने सीएसएस फ़ाइल को यह जोड़ने:

.pac-container{ 
    display:none!important; 
} 
1

ऊपर जवाब में से कोई भी मेरे लिए काम किया (क्रोम 64.0.3282.186, 64 विंडोज़)।

टी एल; डॉ: गूगल मैप्स कोड off को autocomplete विशेषता बदल रहा है, तो आप new-password करने के लिए इसे सेट करने के बावजूद, आप अभी भी स्वत: भरण मिलेगा। मैं जिस हैक का उपयोग कर रहा हूं वह उस विशेषता पर उत्परिवर्तनों को सुनना है और फिर इसे ओवरराइड करना है। नोट: Google मानचित्र में कॉल करने के बाद विशेषता को बदलना काम नहीं करता है।

Google मानचित्र स्वत: पूर्ण प्रारंभ करने से पहले एक उत्परिवर्तन ऑब्सर्वर सेट करें जो तुरंत उत्परिवर्तनों को सुनना बंद कर देता है और फिर new-password पर विशेषता सेट करता है।

var autocompleteInput = document.getElementById("id-of-element"); 

    var observerHack = new MutationObserver(function() { 
     observerHack.disconnect(); 
     $("#id-of-element").attr("autocomplete", "new-password"); 
    }); 

    observerHack.observe(autocompleteInput, { 
     attributes: true, 
     attributeFilter: ['autocomplete'] 
    }); 
संबंधित मुद्दे