ASP.NET चेक बॉक्स को मान्य करने के लिए एक बेहतर तरीका एक jQuery सत्यापन प्लगइन का उपयोग कर की आवश्यकता है?

वोट
3

मुसीबत:

(पर पाया: मैं jQuery सत्यापन प्लगइन का उपयोग कर कुछ ASP.NET-चेक बॉक्स को मान्य करना चाहते http://bassistance.de/jquery-plugins/jquery-plugin-validation/ )

क्या यह सब के बारे में बताया गया है:

यह ASP.NET चेक बॉक्स का नाम विशेषता सेट करने के लिए संभव नहीं है (या यह है?)। यह स्वचालित रूप से सेट हो जाएगा जब नियंत्रण प्रदान की गई है और का उपयोग कर प्राप्त किए जा सकें

<%= emailCheckBox.UniqueID %>

निम्नलिखित के रूप में तो दो चेक बॉक्स:

<asp:CheckBox runat=server ID=emailAcceptCheckBox />Email<br />
<asp:CheckBox runat=server ID=phoneAcceptCheckBox />Phone<br />

करने के लिए प्रस्तुत करना होगा:

<INPUT id=ctl00_MainContentPlaceHolder_emailAcceptCheckBox type=checkbox name=ctl00$MainContentPlaceHolder$emailAcceptCheckBox>
<INPUT id=ctl00_MainContentPlaceHolder_phoneAcceptCheckBox type=checkbox name=ctl00$MainContentPlaceHolder$phoneAcceptCheckBox>

शायद यह jQuery सत्यापन प्लगइन के साथ ASP.NET मिश्रण करने के लिए एक गड़बड़ है, लेकिन मैं jQuery सत्यापन प्लगइन पसंद करते हैं और यह इनपुट और अन्य क्षेत्रों के साथ ठीक काम करता है।

समस्या यह है कि jQuery सत्यापन प्लगइन समूह के लिए चेक बॉक्स का नाम-विशेषता का उपयोग चेक बॉक्स चाहता है। यह नाम गुण सभी चेक बॉक्स और एक समूह के लिए बराबर होना चाहिए।

मैंने क्या किया:

मैं jQuery का उपयोग करके सभी चेक बॉक्स के लिए कोई नियम कहा:

$(#[id*='AcceptCheckBox']).each(function() { $(this).rules(add, { minchecked: 1 }); });

और अपने खुद के नियम चेक बॉक्स के लिए जाँच कहा:

jQuery.validator.addMethod(minchecked,
 function(value, element, param) {
     var noOfChecked = $(#[id*='AcceptCheckBox']:checked).length;
          return noOfChecked >= param;
     },
 Error);

(यह नियम चेक बॉक्स जिसका आईडी AcceptCheckBox शामिल के लिए आवेदन करेगा, लेकिन यह इस उदाहरण में ठीक है)।

जब मैं फोन:

var result = $(#aspnetForm).validate().form();

यह पूरी तरह से वापस लौट आता है मेरी मान्यता सफल या असफल!

परंतु:

1) मैं नहीं लग रहा है कि यह एक बहुत साफ है और अच्छा समाधान है। किसी भी बेहतर सलाह?

2) जब मैं सत्यापित करें चलाने ()। प्रपत्र () यह सभी मेरे चेक बॉक्स के माध्यम से जाना होगा और उनमें से प्रत्येक के लिए अन्य सभी चेक बॉक्स की जाँच करें। यह वास्तव में आवश्यक नहीं है। इससे कैसे बचा जा सकता है?

16/07/2009 को 10:44
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
1

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

व्यक्तिगत रूप से, मैं नियमित HTML चेकबॉक्स का प्रयोग करेंगे।

<input type="checkbox" runat="server" ID="emailAcceptCheckBox" name="acceptCheckBox" value="emailAccepted" /><label for="emailAcceptCheckBox">Email</label><br />
<input type="checkbox" runat="server" ID="phoneAcceptCheckBox" name="acceptCheckBox" value="phoneAccepted" /><label for="phoneAcceptCheckBox">Email</label><br />

(मैं उपयोगकर्ता लेबल (बड़ा लक्ष्य) की जाँच करने के / चेकबॉक्स का चयन रद्द पर क्लिक कर सकते हैं ताकि एक लेबल टैग जोड़ लिया है।)

ऊपर अपने jQuery कोड को सरल बनाएगा।

अपने सर्वर साइड कोड पर, क्या चेक किया गया है और क्या नहीं है देखने के लिए Request.Form [ "acceptCheckBox"] की जाँच करें।

16/07/2009 को 17:49
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more