एएसपी: क्लाइंट सत्यापन विफल होने पर भी रेडियोबटन सूची अभी भी सर्वर पर पोस्ट करती है?

यह क्वेरी यह है जिसे मैंने कल पूछा था। मेरे पास इस एएसपीनेट पेज पर एक रेडियो बटन सूची है जो निम्नानुसार परिभाषित है:


       Name
        Staff No

क्लाइंट-साइड पर, निम्नलिखित सत्यापन कर रहा हूं:

rdlSortBy.Attributes("onclick") = "javascript:return prepareSave() && prepareSearch();"

समस्या यह है कि जावास्क्रिप्ट सत्यापन अपेक्षा के अनुसार चलता है। एक संदेश प्रदर्शित होता है और मैं पृष्ठ पर तब तक रहने की उम्मीद करता हूं जब तक उपयोगकर्ता ने परिवर्तनों को सहेज नहीं लिया है, इसके बजाय पृष्ठ वापस पोस्ट किया गया है और प्रभावी रूप से मैं सहेजे गए परिवर्तन खो रहा हूं।

क्या गलत हो सकता है?

0

2 उत्तर

मैंने इसे ठीक किया, समस्या यह थी कि मैं अलग-अलग रेडियो बटनों के बजाय रेडियोबटन सूची के "ऑनक्लिक" को जोड़ रहा था।

यह ठीक है:

rdlSortBy.Items(0).Attributes("onclick") = "javascript:return isDirtied() && prepareSearch();"
    rdlSortBy.Items(1).Attributes("onclick") = "javascript:return isDirtied() && prepareSearch();"
0
जोड़ा

OnClick कोड जिसे आप "मान्य" करने के लिए उपयोग कर रहे हैं, चलाया जा रहा है और फिर वह कोड जो फ़ॉर्म को वापस पोस्ट करता है, जिस पर नियंत्रण स्वयं इंजेक्ट करता है।

आपको उस पोस्टबैक प्रक्रिया को रोकना होगा और फॉर्म क्लाइंट-साइड पोस्ट करने से पहले इसे रोकना होगा। ऐसा करने का सबसे अच्छा तरीका CustomValidator और विशेष रूप से "क्लाइंट वैलिडेशन फ़ंक्शन" संपत्ति के साथ होगा। यह आपकी जावास्क्रिप्ट को सिग्नल करने की अनुमति देगा कि सत्यापन त्रुटि के कारण पोस्ट बैक नहीं होना चाहिए।

0
जोड़ा