2012-09-19 7 views
16

में मैं इस तरह html फ़ाइल में एक एकाधिक चयन करें है:पहुँच एकाधिक चयन करें फार्म फील्ड बोतल

<select multiple id="mymultiselect" name="mymultiselect">   
     <option value="1">this</option>  
     <option value="2">that</option>  
     <option value="3">other thing</option> 
</select> 

जब मैं के माध्यम से कुप्पी/अजगर में mymultiselect क्षेत्र का उपयोग:

request.form['mymultiselect'] 

या अनुरोध का उपयोग करके .args.get फ़ंक्शन यह केवल एक चयनित आइटम देता है। मैंने सीखा है कि [], जोड़ने के लिए फ़ील्ड का नाम इतना की तरह सभी चयनित आइटम मैं पाने के लिए:

<select multiple id="mymultiselect" name="mymultiselect[]">  
     <option value="1">this</option>  
     <option value="2">that</option>  
     <option value="3">other thing</option> 
</select> 

मैं फ़ायरबग में पोस्ट डेटा दिखाई दे रहा है कि इस काम कर रहा है से देख सकते हैं, लेकिन जब भी मैं इस क्षेत्र को फ्लास्क/पायथन में एक्सेस करने का प्रयास करता हूं तो यह शून्य या कोई नहीं होता है।

आप इन मल्टीइलेक्ट फॉर्म फ़ील्ड को कैसे एक्सेस करते हैं जिनके नाम के अंत में "[]" है? मैंने पाइथन कोड में फ़ील्ड नाम में "[]" को जोड़ने का प्रयास किया है, लेकिन यह काम नहीं कर रहा है।

उत्तर

43

आप getlist() function उपयोग करने के लिए मानों की सूची प्राप्त करना चाहते हैं:

multiselect = request.form.getlist('mymultiselect') 

आप नाम के [] जोड़ने के लिए इस काम करने के लिए नहीं जरूरत करते हैं; वास्तव में, [] मदद नहीं करेगा, इसका उपयोग न करें।

+0

सहायता के लिए धन्यवाद। मुझे पता था कि मैं कुछ गलत कर रहा था, अभी भी फ्लास्क करने के लिए नया ... – kj4ohh

+0

यह मुझे खोजने के लिए अविश्वसनीय रूप से लंबा लगा - यह डिबगिंग यह स्पष्ट नहीं है कि फ्लास्क समस्या है, यह केवल तब होता है जब मुझे PHP की '[]' मिली जो मैंने सोचा विशेष रूप से पाइथन/फ्लास्क खोजें। कोई विचार क्यों 'get' सूची वापस नहीं करता है? मैं इस व्यवहार में किसी भी वांछनीयता को नहीं देख सकता ... यह विशेष रूप से अजीब है क्योंकि 'प्राप्त' पहले तत्व को लौटाता है। गाह। – OJFord

+0

तो क्या होगा यदि केवल एक तत्व है? 'Get' कब एक सूची वापस लेनी चाहिए और जब एक मूल्य? एपीआई यहां स्पष्ट है; 'प्राप्त करें' हमेशा एक मान देता है। 'getlist' हमेशा एक सूची देता है। –

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

  • कोई संबंधित समस्या नहीं^_^