2017-11-21 37 views
5

सफारी वास्तव में एक छिपे हुए फॉर्म फ़ील्ड को ओवरराइट कर रहा है जो कि पासवर्ड रीसेट टोकन (आईडी user_reset_password_token और आईडी user[reset_password_token]) का प्रतिनिधित्व करने वाला है, मेरे ईमेल पते के साथ।सफारी ऑटोफिल छुपाएं "रीसेट पासवर्ड टोकन" इनपुट

जैसा कि आप कल्पना कर सकते हैं, टोकन गलत होने पर पासवर्ड रीसेट करना काम नहीं करता है, इसलिए मुझे कोई समस्या है।

मैंने पुष्टि की है कि अगर मैं सफारी में ऑटोफिल अक्षम करता हूं, या सफारी के अलावा किसी भी ब्राउज़र का उपयोग करता हूं तो यह ठीक काम करता है।

क्या किसी के पास इस समस्या का समाधान है?

+1

आप को अक्षम करने ऑटो सफारी में भरने से संतुष्ट नहीं हैं मैं अपने छिपे हुए इनपुट को readonly विशेषता जोड़ने, इस तरह से समस्या हल हो? – Swellar

+1

बेशक नहीं! यह मेरे लिए एक समाधान है क्योंकि मुझे पता है कि समस्या क्या है, लेकिन मेरे उपयोगकर्ताओं के बारे में क्या? मुझे लगता है कि ज्यादातर लोगों में ऑटोफिल सक्षम है, क्योंकि यह डिफ़ॉल्ट है ... – elsurudo

उत्तर

0

ऐसा करने का कोई वास्तविक साफ तरीका नहीं है। एक वर्कअराउंड उस से पहले नकली इनपुट रखना है ताकि सफारी इसे स्वत: भर दे, न कि आपके इनपुट को। somethink कि उदाहरण के लिए:

<input id="fake_password" name="fake_user[password]" style="position:absolute; top:-100px;" type="text" value="Safari Autofill Me"> 

top-100px इस इनपुट को छिपाने के लिए है, क्योंकि प्रदर्शन यहाँ है: कोई नहीं कुछ मामलों में स्वत: भरण रोका जा सकता है ...

0
छिपी हुई फ़ील्ड के लिए

अक्षम स्वत: पूर्ण:

HTML:

<input name="reset_password_token" type="hidden" autocomplete="off"> 

रेल (का उपयोग कर फार्म सहायक):

012,
<%= f.hidden_field :reset_password_token, autocomplete: 'off' %> 
+0

दुर्भाग्य से सफारी स्वत: पूर्ण विशेषता को अनदेखा करता है – enjaku

1

बस एक ही समस्या थी।

= f.hidden_field :reset_password_token, readonly: true 

तो मुझे मिल गया है यह:

<input id="user_reset_password_token" name="user[reset_password_token]" readonly="readonly" type="hidden" value="YXHRuRgppyzxqsdEXiNm"> 
संबंधित मुद्दे