पृष्ठभूमि में किसी फ़ॉर्म की आवधिक बचत को कैसे कार्यान्वित करें? जीमेल करता है कि एक ही तरह की बात है।समय-समय पर ऑटोसवे फॉर्म
उत्तर
setInterval(function(){
var form = $('#my-form-id');
var method = form.attr('method').toLowerCase(); // "get" or "post"
var action = form.attr('action'); // url to submit to
$[method](action, form.serialize(), function(data){
// Do something with the server response data
// Or at least let the user know it saved
});
},10000); // do it every 10 seconds
आप फार्म की विधि का उपयोग नहीं करना चाहते हैं, लेकिन हमेशा उपयोग करने के लिए 'पोस्ट' चाहते हैं, तो का उपयोग करें:
$.post(action, form.serialize(), ...);
और, यदि आप अपने आपूर्ति करना चाहते हैं स्वतः सहेजना के लिए अपनी कार्रवाई के लिए कार्रवाई से अलग है वास्तविक बचाने:
$.post("/autosave/comments", form.serialize(), ...);
- @ फ़ोगोज़, क्या आप अपने पहले कोड ब्लॉक में समझा सकते हैं जहां फॉर्म सत्यापन होगा? –
@timpeterson 3.5 साल बहुत देर से प्रतिक्रिया, लेकिन: मुझे लगता है कि आप क्लाइंट-साइड सत्यापन के बारे में बात कर रहे हैं, और यदि आप अमान्य हैं तो आप फॉर्म जमा नहीं करना चाहते हैं? यदि ऐसा है, तो यह सिर्फ कोड है, है ना? 'अगर (फॉर्मआईस्वालिड (फॉर्म)) $ [विधि] (...);' – Phrogz
आपको क्लाइंट पक्ष पर एक समय-समय पर लूप की आवश्यकता होगी जो प्रत्येक x सेकंड/मिनट के रूप को फ़ॉर्म को सहेज लेगा। ऐसा करने का एक कच्चा तरीका setTimeout
जावास्क्रिप्ट फ़ंक्शन होगा जो फ़ॉर्म के फ़ील्ड मान एकत्र करता है और मॉडल को अपडेट (रेल इन केस में पुट) AJAX अनुरोध के माध्यम से अपडेट करता है।
उदाहरण
यहाँ यह करने का एक कच्चा रास्ता है (यानी वहाँ एक बेहतर तरीका हो सकता है):
// repeat every 10 seconds
var repeatTime = 10 * 1000;
function updateModel(){
// get field values (using jQuery, etc.)
// make ajax request using these field values
//(make sure put parameters match model attribute names)
console.log('updated');
setTimeout(updateModel, repeatTime); // start call over again
}
setTimeout(updateModel, repeatTime);
मैं console.log
शामिल थे ताकि तुम अभी Firebug में बाहर इस परीक्षण कर सकते हैं और देखें कि updateModel
हर 10 सेकंड निष्पादित करता है। मैं PUT
AJAX अनुरोध उत्पन्न करने के लिए jQuery का उपयोग करने की अनुशंसा करता हूं।
क्या आप कोई उदाहरण दे सकते हैं? –
setTimeout() के बजाय setInterval() का उपयोग क्यों नहीं करें? –
क्यों ग्राहक पर विशुद्ध रूप से ऐसा नहीं, एक स्थानीय डेटाबेस (या जो भी) का उपयोग कर? इससे जटिलता, सर्वर लोड और बैंडविड्थ उपयोग कम हो जाना चाहिए।
स्थायी या प्रति-सत्र भंडारण - जो कुछ भी उचित है - और आप प्रत्येक कीस्ट्रोक के बाद सहेज सकते हैं: setTimeout() के लिए कोई आवश्यकता नहीं है।
Sisyphus.js: जीमेल की तरह क्लाइंट-साइड ड्राफ्ट और थोड़ा और। ब्राउजर क्रैश, टैब क्लोजिंग और अन्य आपदाओं के बाद उन्हें पुनर्स्थापित करने के लिए एचटीएमएल फॉर्म डेटा को स्थानीय स्टोरेज में सहेजने के लिए विकसित किया गया। http://sisyphus-js.herokuapp.com
स्मैशिंग पत्रिका लेख: http://coding.smashingmagazine.com/2011/12/05/sisyphus-js-client-side-drafts-and-more/
- 1. चेंज पर पूरे फॉर्म
- 2. फॉर्म क्लोजिंग पर संदेशबॉक्स
- 3. मैं आईपैड/आईफोन पर फॉर्म
- 4. एएसपीनेट पृष्ठ पर फॉर्म टैग
- 5. बटन पर jQuery फॉर्म सत्यापन
- 6. एकल फॉर्म स्टार्टअप पर छिपाएं
- 7. Django एड फॉर्म के आधार पर फॉर्म संपादित करें?
- 8. यदि फॉर्म अंधेरा है, तो फॉर्म पर टेक्स्ट लाइट
- 9. विंडोज़ फॉर्म एक्सप्लोरर से विंडोज फॉर्म पर ड्रैग और ड्रॉप
- 10. फॉर्म सत्यापन सत्यापन त्रुटि पर Django फॉर्म फ़ील्ड साफ़ करना?
- 11. फॉर्म
- 12. फॉर्म
- 13. फॉर्म
- 14. फॉर्म
- 15. फॉर्म
- 16. फॉर्म
- 17. फॉर्म
- 18. फॉर्म
- 19. फॉर्म
- 20. फॉर्म पर वर्तमान यूआरएल पास करें
- 21. Django, सभी फॉर्म त्रुटियों पर लूप
- 22. एकाधिक फ़ील्ड पर एमवीसी फॉर्म प्रमाणीकरण
- 23. symfony2 पर फॉर्म सत्यापन संदेश ओवरराइडिंग
- 24. फॉर्म पर एक नई विंडो कैसे खोलें
- 25. विंडोज़ फॉर्म पर अनिवार्य फ़ील्ड कैसे दिखाएं
- 26. विंडोज़ फॉर्म पर पीडीएफ प्रदर्शित करना?
- 27. विंडोज़ फॉर्म में माउसओवर पर प्रदर्शित छवि?
- 28. बटन पर फॉर्म ऑटो सबमिट करें
- 29. रेल पर रूबी: फॉर्म का चयन करें
- 30. फॉर्म दिखाए जाने पर कोड कैसे चलाएं?
आवधिक ajax अनुरोध? – fl00r
@flOOr हाँ आवधिक AJAX अनुरोध। –
जो एक उत्तर है :) – fl00r