ASP.Net कस्टम क्लाइंट-साइड सत्यापन

वोट
23

मैं एक नेट 2.0 वेब साइट है जो देखने के लिए कि शुल्क का भुगतान वजह शुल्क राशि से अधिक नहीं है की जाँच करता है पर एक उपयोगकर्ता नियंत्रण में जावास्क्रिप्ट में एक कस्टम सत्यापन समारोह है।

मैं में सत्यापनकर्ता कोड डालने के बाद ascxफ़ाइल है, और मैं भी उपयोग करने की कोशिश की है Page.ClientScript.RegisterClientScriptBlock()और दोनों ही मामलों में सत्यापन आग, लेकिन JavaScript फ़ंक्शन नहीं मिल रहा।

फायरफॉक्स के त्रुटि कंसोल में उत्पादन होता है feeAmountCheck is not defined। यहाँ समारोह (इस firefox- से सीधे लिया गया था> स्रोत देखें) है

<script type=text/javascript>
    function feeAmountCheck(source, arguments)
    {
        var amountDue = document.getElementById('ctl00_footerContentHolder_Fees1_FeeDue');
        var amountPaid = document.getElementById('ctl00_footerContentHolder_Fees1_FeePaid');

        if (amountDue.value > 0 && amountDue >= amountPaid)
        {
            arguments.IsValid = true;
        }
        else
        {
            arguments.IsValid = false;
        }

        return arguments;
    }
</script>

कोई भी विचार क्यों करने के लिए के रूप में कार्य नहीं मिला जा रहा है? मैं किस प्रकार अपने गुरु पृष्ठ पर समारोह को जोड़ने के लिए हो रही है या लेने वाली पृष्ठ के बिना इसे ठीक कर सकते हैं?

04/08/2008 को 17:44
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


4 जवाब

वोट
12

करने के लिए तर्क के नाम बदलने का प्रयास करें senderऔर args। और, के बाद आप यह काम कर रहा है, कॉल पर स्विच ScriptManager.RegisterClientScriptBlock, AJAX उपयोग की परवाह किए बिना।

04/08/2008 को 18:02
का स्रोत उपयोगकर्ता

वोट
6

जब आप नेट 2.0 और अजाक्स का उपयोग कर रहे हैं - आप का उपयोग करना चाहिए:

ScriptManager.RegisterClientScriptBlock

यह अजाक्स वातावरण फिर पुराने Page.ClientScript संस्करण में बेहतर काम करेंगे

04/08/2008 को 17:51
का स्रोत उपयोगकर्ता

वोट
0

इसके अलावा, आप इस्तेमाल कर सकते हैं:

var amountDue = document.getElementById('<%=YourControlName.ClientID%>');

यही कारण है कि स्वचालित रूप से आप यह पता लगाने की है कि यह कहा जाता है बिना तत्व के लिए ग्राहक आईडी का समाधान हो जाएगा 'ctl00_footerContentHolder_Fees1_FeeDue'

13/06/2009 को 19:10
का स्रोत उपयोगकर्ता

वोट
0

जबकि मैं अभी भी क्यों मेरे जावास्क्रिप्ट मान्यता प्राप्त नहीं किया जा रहा था के जवाब चाहते हैं, समाधान मैं इस बीच में पाया (और पहली जगह में किया जाना चाहिए) एक का उपयोग करने के लिए है Asp:CompareValidatorएक के बजाय Asp:CustomValidator

04/08/2008 को 20:13
का स्रोत उपयोगकर्ता

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