2009-12-30 6 views

उत्तर

33

क्या कुछ इस तरह:

<input type="checkbox" name="checkboxArray[]" /> 

नोट [] नाम पर।

+11

+1 ग्रेट उत्तर। @ अज्ञात बस याद रखें कि यदि उनमें से कोई भी चेक नहीं किया गया है, तो फ़ील्ड भी 'foreach' विफल होने के कारण सबमिट नहीं किया जाएगा। 'Foreach' से पहले' isset ($ _ POST ['checkboxname']) का परीक्षण करना सुनिश्चित करें। –

12

इस तरह:

<input type="checkbox" name="checkboxname[]" /> 
<input type="checkbox" name="checkboxname[]" /> 
<input type="checkbox" name="checkboxname[]" /> 
<input type="checkbox" name="checkboxname[]" /> 
<input type="checkbox" name="checkboxname[]" /> 

बस उनके नाम के [] जोड़ देते हैं।

+2

एक छोटी सी समस्या है !! अगर मैं 5 वें चेक बॉक्स की जांच करता हूं तो यह कुछ चीज होनी चाहिए जैसे 'ऐरे ([4] => चालू)' लेकिन यह 'ऐरे ([0] => पर प्रदर्शित होता है)' मुझे चेकबॉक्सनाम [1] जैसे मूल्यों को क्यों लागू करना चाहिए 'और 'चेकबॉक्सनाम [2]' ??? –

1

उन HTML फॉर्म तत्वों के लिए जो सर्वर पर एकाधिक मान भेज सकते हैं (जैसे चेकबॉक्स, या एकाधिक चयन बॉक्स), आपको अपने HTML तत्व नाम के लिए नाम जैसी सरणी का उपयोग करना चाहिए। इस तरह:

<input type="checkbox" name="checkboxname[]" /> 

भी यह अनुशंसा की जाती है कि आप अपने प्रपत्र तत्व के लिए "बहुखण्डीय/फार्म-डेटा" का एक enctype का उपयोग करें।

<form enctype="multipart/form-data" action="target.php" method="post"> 

फिर अपनी PHP स्क्रिप्ट में आप एकाधिक मूल्य डेटा को सरणी के रूप में एक्सेस कर सकते हैं, जैसा कि आप चाहते थे।

+0

लगता है 'enctype' अनचाहे है। – user198729

3

यदि आप चेकबॉक्स के लिए सरणी का उपयोग करते हैं, तो आपको एकल चेकबॉक्स के लिए पहचानकर्ता के रूप में एक मान विकल्प जोड़ना चाहिए, क्योंकि तब लौटा सरणी ऐरे ([0] => पर, [1] => पर बदलती है) ऐरे ([0] => वैल्यू 1, [1] => वैल्यू 5), जो आपको चेक किए गए चेकबॉक्स की पहचान करने देता है।

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