2010-11-08 22 views
6

मुझे एक वेब फ़ॉर्म के माध्यम से एक सीजीआई स्क्रिप्ट में केवल एक इनपुट फ़ील्ड मान जमा करने की आवश्यकता है।मैं HTML फॉर्म रेडियो बटन मान सबमिट करने से कैसे बाहर कर सकता हूं?

मैंने कुछ अतिरिक्त फॉर्म नियंत्रण (एक चेक बॉक्स और रेडियो बटन) जोड़े हैं जो चुने गए राज्यों के आधार पर इनपुट मूल्य में हेरफेर करते हैं।

जब फॉर्म सबमिट किया जाता है, तो अतिरिक्त फॉर्म फ़ील्ड मान भी सबमिट किए जाते हैं जो सीजीआई स्क्रिप्ट को तोड़ता है (जिसे मुझे एक्सेस नहीं है)। मैंने चेक बॉक्स से 'नाम' विशेषता हटा दी है, इसलिए वे सबमिट नहीं किए गए हैं लेकिन रेडियो बटन के लिए ऐसा नहीं कर सकते क्योंकि यह उनके समूह को तोड़ देता है।

मैं रेडियो बटन मान सबमिट करने से कैसे रोक सकता हूं?

उत्तर

12

आप submit हैंडलर में disabled विशेषता जोड़ सकते हैं, इससे उन्हें jQuery या सामान्य <form> सबमिशन द्वारा क्रमबद्ध होने से रोक दिया जाएगा। उदाहरण के लिए:

$("#myForm").submit(function() { 
    $(this).find(":radio, :checkbox").attr("disabled", true); 
}); 

या आप .serialize() केवल इच्छित तत्वों, उदाहरण के लिए कर सकते हैं:

$.post("myPage.cgi", $("#myForm input[type=text]").serialize()); 
+0

यही काम किया है:

यहाँ एक jsFiddle दूसरा दृष्टिकोण (onsubmit हैंडलर) का प्रदर्शन है। धन्यवाद। – pelms

+0

jQuery 1.6+ के लिए, यह '.prop ('अक्षम', सत्य होना चाहिए '। –

6

उन्हें "असफल" बनाओ। दिखाई प्रपत्र तत्वों और एक है कि एक छिपा हुआ input कि अंतिम परिणाम प्रस्तुत किया जाना का प्रतिनिधित्व करता है कि एक: http://www.w3.org/TR/html401/interact/forms.html#h-17.13.2

+0

धन्यवाद आंद्रे। उपयोगी पेज – pelms

0

यह भी दो अलग रूप होना संभव नहीं है: वहाँ इस लक्ष्य को हासिल करने के लिए कई तरीके हैं। आप या तो onchange हैंडलर को अपने दृश्यमान तत्वों में संलग्न कर सकते हैं ताकि वे अदृश्य फ़ील्ड को अपडेट करने के लिए कुछ जावास्क्रिप्ट को कॉल कर सकें, या आप onsubmit हैंडलर के हिस्से के रूप में एक फ़ंक्शन चला सकते हैं ताकि सबमिट किए जाने से पहले अदृश्य मूल्य सीधे सेट किया जा सके। http://jsfiddle.net/gtU4J/

संबंधित मुद्दे