मुझे इस सवाल का पूरा हल मिल गया। (मैंने इसे क्रोम 27 और फ़ायरफ़ॉक्स 21 में परीक्षण किया है)।
जानने के लिए दो चीजें हैं:
- ट्रिगर 'सेव पासवर्ड', और
- सहेजे गए उपयोगकर्ता नाम / पासवर्ड को पुनर्स्थापित करें
1. ट्रिगर 'सेव पासवर्ड':
के लिए फ़ायरफ़ॉक्स 21 , 'सहेजें पासवर्ड' शुरू हो रहा है, जब यह पता लगाता है एक फार्म इनपुट पाठ फ़ील्ड और इनपुट पासवर्ड क्षेत्र युक्त प्रस्तुत किया जाता है है कि वहाँ है। इसलिए हमें बस इस्तेमाल करने की जरूरत है
$('#loginButton').click(someFunctionForLogin);
$('#loginForm').submit(function(event){event.preventDefault();});
someFunctionForLogin()
ajax लॉगिन करता है और event.preventDefault()
फॉर्म को सबमिट करने के कारण मूल पुनर्निर्देशन को अवरुद्ध करते समय पृष्ठ में हस्ताक्षरित पर पुनः लोड / रीडायरेक्ट करता है।
यदि आप केवल फ़ायरफ़ॉक्स से निपटते हैं, तो उपरोक्त समाधान पर्याप्त है, लेकिन यह क्रोम 27 में काम नहीं करता है। तब आप पूछेंगे कि क्रोम 27 में 'पासवर्ड सहेजें' को कैसे ट्रिगर किया जाए।
के लिए क्रोम 27 , 'सहेजें पासवर्ड' शुरू हो रहा है के बाद यह रूप है जो इनपुट पाठ फ़ील्ड में जमा करके पृष्ठ पर पुनः निर्देशित किया गया है विशेषता नाम = 'उपयोगकर्ता नाम' के साथ और इनपुट पासवर्ड फ़ील्ड विशेषता नाम = 'पासवर्ड' के साथ । इसलिए, हम फॉर्म सबमिट करने के कारण पुनर्निर्देशन को रोक नहीं सकते हैं, लेकिन हमने ajax लॉगिन करने के बाद पुनर्निर्देशन कर सकते हैं। (यदि आप चाहते हैं कि अजाक्स लॉगिन पृष्ठ को फिर से लोड न करे या पृष्ठ पर पुनर्निर्देशित न करे, दुर्भाग्य से, मेरा समाधान काम नहीं करता है।) फिर, हम उपयोग कर सकते हैं।
<form id='loginForm' action='signedIn.xxx' method='post'>
<input type='text' name='username'>
<input type='password' name='password'>
<button id='loginButton' type='button'>Login</button>
</form>
<script>
$('#loginButton').click(someFunctionForLogin);
function someFunctionForLogin(){
if(/*ajax login success*/) {
$('#loginForm').submit();
}
else {
//do something to show login fail(e.g. display fail messages)
}
}
</script>
बटन के साथ टाइप करें = 'बटन' बटन को क्लिक करने पर सबमिट नहीं किया जाएगा। फिर, अजाक्स लॉगिन के लिए बटन के लिए एक फ़ंक्शन बाइंडिंग। अंत में, $('#loginForm').submit();
हस्ताक्षरित पृष्ठ पर पुनर्निर्देशित करना। यदि हस्ताक्षरित पृष्ठ वर्तमान पृष्ठ है, तो आप 'ताज़ा' बनाने के लिए 'हस्ताक्षरित' XXX 'को वर्तमान पृष्ठ से बदल सकते हैं।
अब, आप पाएंगे कि क्रोम 27 के लिए विधि फ़ायरफ़ॉक्स 21 में भी काम करती है। इसलिए इसका उपयोग करना बेहतर है।
2. सहेजे गए उपयोगकर्ता नाम / पासवर्ड को पुनर्स्थापित करें:
यदि आपके पास पहले से ही HTML के रूप में लॉगिनफ़ॉर्म हार्ड-कोडेड है, तो आपको लॉगिनफ़ॉर्म में सहेजे गए पासवर्ड को पुनर्स्थापित करने के लिए कोई समस्या नहीं मिलेगी।
हालाँकि, सहेजे गए उपयोगकर्ता नाम / पासवर्ड लॉगिनफ़ॉर्म के लिए बाध्य नहीं होंगे यदि आप लॉगफ़ॉर्म को गतिशील रूप से बनाने के लिए js / jquery का उपयोग करते हैं, क्योंकि सहेजे गए उपयोगकर्ता नाम / पासवर्ड केवल तभी लोड होते हैं जब दस्तावेज़ लोड होता है।
इसलिए, आपको HTML के रूप में लॉगिनफ़ॉर्म को हार्ड-कोड करने की आवश्यकता है और गतिशील रूप से लॉगिनफ़ॉर्म को स्थानांतरित / दिखाने / छिपाने के लिए js / jquery का उपयोग करें।
टिप्पणी:
यदि आप ajax लॉगिन करते हैं, autocomplete='off'
जैसे टैग फॉर्म में न जोड़ें
<form id='loginForm' action='signedIn.xxx' autocomplete='off'>
autocomplete='off'
लॉगिन यूज़रनेम / पासवर्ड को लॉगिनफ़ॉर्म में बना देगा, क्योंकि आप इसे उपयोगकर्ता नाम / पासवर्ड को 'स्वतः पूर्णता' की अनुमति नहीं देते हैं।