मार्च 2012 को अपडेट किया गया।
इसलिए, मूल रूप से इस प्रश्न का उत्तर देने के दो साल बाद, मैं यह देखने के लिए वापस आया कि यह बहुत बड़ी गड़बड़ी में बदल गया है। मुझे लगता है कि यह उस समय के बारे में है जब मैं इसमें वापस आता हूं और अपना उत्तर सही मायने में सही करता हूं क्योंकि यह सबसे उत्कीर्ण + स्वीकृत है।
रिकॉर्ड के लिए, टिटी का उत्तर गलत है क्योंकि यह नहीं है कि मूल पोस्टर ने क्या पूछा है - यह सही है कि मूल रीसेट () विधि का उपयोग करके एक फॉर्म को रीसेट करना संभव है, लेकिन यह प्रश्न याद किए गए फॉर्म को बंद करने की कोशिश कर रहा है यदि आप इसे इस तरह से रीसेट करते हैं तो मान इस प्रकार बने रहेंगे। यही कारण है कि एक "मैनुअल" रीसेट की आवश्यकता है। मुझे लगता है कि अधिकांश लोग Google खोज से इस प्रश्न को समाप्त कर चुके हैं और वास्तव में रीसेट () विधि की तलाश कर रहे हैं, लेकिन यह उस विशिष्ट मामले के लिए काम नहीं करता है जो ओपी के बारे में बात कर रहा है।
मेरा मूल उत्तर यह था:
// not correct, use answer below
$(':input','#myform')
.not(':button, :submit, :reset, :hidden')
.val('')
.removeAttr('checked')
.removeAttr('selected');
जो ओपी के लिए सहित कई मामलों के लिए काम कर सकता है, लेकिन जैसा कि टिप्पणियों में और अन्य उत्तरों में बताया गया है, किसी भी मूल्य विशेषताओं से रेडियो / चेकबॉक्स तत्वों को स्पष्ट करेगा।
एक अधिक सही उत्तर (लेकिन सही नहीं) है:
function resetForm($form) {
$form.find('input:text, input:password, input:file, select, textarea').val('');
$form.find('input:radio, input:checkbox')
.removeAttr('checked').removeAttr('selected');
}
// to call, use:
resetForm($('#myform')); // by id, recommended
resetForm($('form[name=myName]')); // by name
का उपयोग करते हुए :text
, :radio
अपने आप, आदि चयनकर्ताओं jQuery द्वारा खराब व्यवहार का वे अंत के रूप में मूल्यांकन करने में माना जाता है *:text
जो यह बहुत लंबे समय तक की तुलना में यह होना चाहिए ले आता है। मुझे श्वेतसूची दृष्टिकोण पसंद है और काश मैंने अपने मूल उत्तर में इसका उपयोग किया होता। किसी भी तरह, input
चयनकर्ता के भाग, और फार्म तत्व के कैश को निर्दिष्ट करके , इसे यहां सबसे अच्छा प्रदर्शन करने वाला उत्तर बनाना चाहिए।
इस उत्तर में अभी भी कुछ खामियां हो सकती हैं, अगर चुनिंदा तत्वों के लिए लोगों का डिफ़ॉल्ट एक विकल्प नहीं है, जो एक रिक्त मान है, लेकिन यह निश्चित रूप से उतना ही सामान्य है जितना कि यह प्राप्त करने जा रहा है और इसे केस-बाय-केस आधार पर संभालने की आवश्यकता होगी ।
not()
अगर आपके फॉर्म में कोई छिपा हुआ इनपुट है तो छिपा दिया जाए।