2013-05-15 20 views
7

के अंदर चेक बॉक्स चेक किए गए हैं या नहीं, मेरे पास एक फॉर्म में कई चेक बॉक्स हैं, मैं सिर्फ यह जांचने के लिए चाहता हूं कि वे चेक किए गए हैं या नहीं।पता लगाएं कि सर्लेट

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

यह मेरा कोड

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Insert title here</title> 
</head> 
<body> 
Role Id<input type="text" name="roll_id"/><br> 
Role Name<input type="text" name="roll_name"/><br> 
Role Description<textarea name="roll_desc"></textarea><br> 
<br> 
<br> 

Screen1<br> 

tab1<br> 

<input type="checkbox" name="s1_t1_view" value="s1_t1_view" >view<br> 
<input type="checkbox" name="s1_t1_add" value="s1_t1_add" >add<br> 
<input type="checkbox" name="s1_t1_edit" value="s1_t1_edit" >edit<br> 
<input type="checkbox" name="s1_t1_delete" value="s1_t1_delete" >delete<br> 

tab2<br> 

<input type="checkbox" name="s1_t2_view" value="s1_t2_view" >view<br> 
<input type="checkbox" name="s1_t2_add" value="s1_t2_add" >add<br> 
<input type="checkbox" name="s1_t2_edit" value="s1_t2_edit" >edit<br> 
<input type="checkbox" name="s1_t2_delete" value="s1_t2_delete" >delete<br> 



Screen2<br> 

tab1<br> 

<input type="checkbox" name="s2_t1_view" value="s2_t1_view" >view<br> 
<input type="checkbox" name="s2_t1_add" value="s2_t1_add" >add<br> 
<input type="checkbox" name="s2_t1_edit" value="s2_t1_edit" >edit<br> 
<input type="checkbox" name="s2_t1_delete" value="s2_t1_delete" >delete<br> 

tab2<br> 

<input type="checkbox" name="s2_t2_view" value="s2_t2_view" >view<br> 
<input type="checkbox" name="s2_t2_add" value="s2_t2_add" >add<br> 
<input type="checkbox" name="s2_t2_edit" value="s2_t2_edit" >edit<br> 
<input type="checkbox" name="s2_t2_delete" value="s2_t2_delete" >delete<br> 
<input type="submit" name="sumbit" text="submit"> 
</body> 
</html> 

है लेकिन मेरे कोड में मैं कई चेक बॉक्स है। मुझे हर चेक बॉक्स के लिए हार्डकोड करना होगा। क्या कोई रास्ता है ताकि मैं इसे लूप में रखूं और सभी चेक बॉक्स की जांच कर सकूं?

+1

यदि आपको चेकबॉक्स के ग्रुप का उपयोग करने की आवश्यकता है, तो 'समूह' विशेषता प्रत्येक समूह वाले चेकबॉक्स के लिए समान होनी चाहिए! – Xaltar

+0

हाँ, जिसने काम किया था। धन्यवाद । –

उत्तर

10

सरल होने के लिए, आप डेटा प्राप्त करने के लिए name विशेषता का उपयोग कर सकते हैं क्योंकि आप प्रत्येक चेकबॉक्स के लिए अलग-अलग नाम का उपयोग कर रहे हैं।

सर्वलेट में:

String[] s1_t1_view = request.getParameterValues("s1_t1_view"); 
String[] s1_t1_add = request.getParameterValues("s1_t1_add"); 

आप चेकबॉक्स के समूह का उपयोग करने के लिए उपयोगकर्ता से अधिक मान के बीच एक विकल्प देना चाहते हैं, तो आप सर्वलेट में समूह पर पुनरावृति करने की आवश्यकता होगी।

HTML में: आप इस का उपयोग कर सकते हैं (एक ही नाम = एक ही समूह)

<input type = "checkbox" name = "s1_t1" value = "s1_t2_view" >View <br> 
<input type = "checkbox" name = "s1_t1" value = "s1_t2_add" >Add <br> 
<input type = "checkbox" name = "s1_t1" value = "s1_t2_edit" >Edit <br> 
<input type = "checkbox" name = "s1_t1" value = "s1_t2_delete" >Delete<br> 

सर्वलेट में:

String[] results = request.getParameterValues("s1_t1"); 
for (int i = 0; i < results.length; i++) { 
    System.out.println(results[i]); 
} 
+0

क्या आप एक नमूना कोड साझा कर सकते हैं? –

+0

हाँ इसने मदद की। धन्यवाद । –

4

आप

String[] checked = request.getParameterValues("checkboxName"); 

उपयोग कर सकते हैं और उसके बाद जाँच checked मूल्य

+0

लेकिन मेरे कोड में मेरे पास कई चेक बॉक्स हैं। मुझे हार्डकोड की आवश्यकता है कि प्रत्येक चेक बॉक्स के लिए। क्या ऐसा कोई तरीका है जिससे मैंने इसे लूप में रखा और सभी चेक बॉक्स की जांच की? –

-1

मेरे लिए यह एक काम किया।

String[] selecttype=request.getParameterValues("selectType"); 

//selectType is the name of checkbox in jsp page. 

यह चयनित चेकबॉक्स मान वापस कर देगा।

+1

अन्य समाधानों से यह उत्तर कितना अलग है? – Lucky

-1

रूप

अब के रूप में अपने सर्वलेट में छिपा क्षेत्रों बनाएँ: String [] नाम = request.getParameterValues ​​("चेकबॉक्स");

PrintWriter pw = new PrintWriter(new File("/Desktop/sticker.txt")); 
for(int i=0; i < names.length; i++) { 
    if(i + 1 < names.length && names[i].equals(names[i+1])) { 
     pw.write(names[i] + ",true\n"); 
     ++i; 
    } else { 
     pw.write(names[i]+",false\n"); 
    } 

} 
pw.close(); 
संबंधित मुद्दे