ड्रॉपडाउन सूची में बदलाव पर फॉर्म कैसे जमा करें?


293

मैं JSP में एक पेज बना रहा हूँ जहाँ मेरे पास एक ड्रॉपडाउन सूची है और एक बार उपयोगकर्ता एक मूल्य का चयन करता है उसे गो बटन पर क्लिक करना होता है और फिर मूल्य सर्वलेट को भेजा जाता है।

            </select>
            <input type="submit" name="GO" value="Go"/>

मैं इसे कैसे बनाऊं ताकि यह परिवर्तन पर हो? जब उपयोगकर्ता जॉन का चयन करता है तो उसके सभी विवरण डीबी से हटा दिए जाते हैं और प्रदर्शित किए जाते हैं। मैं चाहता हूं कि सिस्टम गो बटन पर क्लिक किए बिना इसे कर दे।

जवाबों:


662

बस जावास्क्रिप्ट की सहायता से पूछें।

<select onchange="this.form.submit()">
    ...
</select>

यह सभी देखें:


6
बहुत सारे उपयोगकर्ता जावास्क्रिप्ट को ब्लॉक करते हैं, क्या जावास्क्रिप्ट के बिना ऐसा करने का कोई तरीका है?
डेवियड्ब

5
@ डिडेय्डब: नोप। मैंने अन्यथा इसका उत्तर दिया होता :) :) एक <noscript>बैनर दिखाते हैं कि जेएस सक्षम होने पर साइट का अनुभव बेहतर है। एक पूरी तरह से अलग विकल्प <ul><li><input type="submit">सीएसएस के भार में उपयोग करना और फेंकना है ताकि यह एक सच्ची ड्रॉपडाउन सूची की तरह दिख सके। लेकिन फिर <select>अब कोई साधन नहीं है।
बालूसी

89
@deweydb "बहुत सारे उपयोगकर्ता जावास्क्रिप्ट को अवरुद्ध करते हैं ..." प्रशस्ति पत्र? मैं ईमानदारी से कभी भी एक उपयोगकर्ता के सामने नहीं आया हूं जो जावास्क्रिप्ट को ब्लॉक करता है - मुझे विश्वास है कि ये उपयोगकर्ता एक मिथक हैं। यह उन्हें इंटरनेट का आधा उपयोग करने से रोकेगा, एक बात के लिए; और स्क्रिप्ट को ब्लॉक करने के लिए काफी समझ रखने वाले किसी व्यक्ति को शायद यह पता नहीं है कि यह कितना सहज और सर्वव्यापी है।
नाथन हॉर्बी

7
@BalusC कृपया उन लोगों के लिए इसे जोड़ें जो उन उपयोगकर्ताओं के बारे में चिंतित हैं, जिनके पास जावास्क्रिप्ट सक्षम नहीं है <noscript>This form requires that you have javascript enabled to work properly please enable javascript in your browser.</noscript> @NathanHornby यदि आप वास्तव में एक प्रशस्ति पत्र चाहते हैं तो आप किसी सार्वजनिक पुस्तकालय में नहीं जाते हैं सुरक्षा कारणों से अधिकांश सार्वजनिक पुस्तकालय के ब्लॉक जावास्क्रिप्ट के साथ-साथ कुछ स्कूल भी डॉन '। टी इसे एक मिथक के रूप में पास करने की कोशिश करें और यह मुख्य रूप से सुरक्षा कारणों से कंप्यूटर की अखंडता को बनाए रखने के लिए किया जा रहा है क्योंकि कुछ जावास्क्रिप्ट दुर्भावनापूर्ण कोड है ...
बेल्डांडु

10
@deweydb यह सरल है। बस टैग submitमें एक बटन <noscript>लगाएं। यह केवल तभी प्रदर्शित होगा जब उपयोगकर्ता noscript का उपयोग करेंगे। जिन उपयोगकर्ताओं के पास जेएस सक्षम है वे सरल तत्व का चयन कर सकते हैं, और noscript वाले उपयोगकर्ता बस सबमिट बटन पर क्लिक करेंगे। :)
हारून एसाव

81

सिंपल जावास्क्रिप्ट करेंगे -

<form action="myservlet.do" method="POST">
    <select name="myselect" id="myselect" onchange="this.form.submit()">
        <option value="1">One</option>
        <option value="2">Two</option>
        <option value="3">Three</option>
        <option value="4">Four</option>
    </select>
</form>

यहाँ एक अच्छा जावास्क्रिप्ट ट्यूटोरियल के लिए एक लिंक है ।


धन्यवाद !, एक से ऊपर MVC के लिए भी काम किया जाता है () "> <विकल्प मूल्य =" 1 "> एक </ विकल्प> <विकल्प मूल्य =" 2 "> दो </ विकल्प> <विकल्प मूल्य =" 3 "> तीन </ विकल्प> <विकल्प मूल्य =" 4 " > चार </ option> </ select>
charulatha krishnamoorthy

11

this.form.submit()आपके द्वारा उपयोग के अलावा आईडी या नाम से भी प्रस्तुत करना। उदाहरण मैं इस तरह से है:<form action="" name="PostName" id="IdName">

  1. नाम से : <select onchange="PostName.submit()">

  2. आईडी द्वारा: <select onchange="IdName.submit()">


कोई जावास्क्रिप्ट की जरूरत है!
मिकी

मुझे लगता है कि 'सबमिट' () HTML तत्व है। जावास्क्रिप्ट नहीं। CMIIW
sate wedos

मुझे पता है, कि मुझे अपनी टिप्पणी से क्या मतलब है। मैं तुम्हें कुछ सहारा देने की कोशिश कर रहा था। :-)
मिकी

रुको, यह गंभीरता से जावास्क्रिप्ट नहीं है?
जेम्स हग

10
* विशेषताओं पर अंदर लिखी गई किसी चीज़ की व्याख्या जावास्क्रिप्ट के रूप में की जाती है। तो PostName.submit () जावास्क्रिप्ट है।
आसिफ शहजाद

9

उपरोक्त उत्तर में उन लोगों के लिए। यह निश्चित रूप से जावास्क्रिप्ट है। यह सिर्फ इनलाइन है।

यदि आप सभी चयनों के लिए आवेदन करना चाहते हैं तो jQuery के बराबर को BTW करें:

$('form select').on('change', function(){
    $(this).closest('form').submit();
});
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.