Vra

Ek het 'n persoonlike bevestiging funksie in JavaScript in 'n gebruiker beheer oor 'n NET 2.0 webwerf wat nagegaan om te sien dat die betaalde fooi is nie in oormaat van die bedrag wat verskuldig is.

Ek het die validator kode geplaas in die ascx lêer, en ek het ook probeer om met behulp Page.ClientScript.RegisterClientScriptBlock() en in beide gevalle die bekragtiging vure, maar kan die JavaScript-funksie vind nie.

Die uitset in Firefox se fout konsole is "feeAmountCheck is not defined". Hier is die funksie (dit is direk uit firefox- geneem> view source)

<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>

Enige idees oor hoekom die funksie is nie gevind? Hoe kan ek dit reg te stel sonder om die funksie by te voeg aan my heer bladsy of beslag bladsy?

Was dit nuttig?

Oplossing

Probeer die verandering van die argument name aan sender en args. En, nadat jy dit werk, die oproep oor te skakel na ScriptManager.RegisterClientScriptBlock, ongeag van AJAX gebruik.

Ander wenke

As jy die gebruik van NET 2.0 en Ajax - wat jy moet gebruik:

ScriptManager.RegisterClientScriptBlock

Dit sal beter werk in Ajax omgewings dan die ou Page.ClientScript weergawe

Ook jy kan gebruik:

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

Dit sal outomaties die kliënt-ID vir die element op te los sonder dat jy om uit te vind wat dit is bekend as 'ctl00_footerContentHolder_Fees1_FeeDue'.

Terwyl ek sou nog graag 'n antwoord op waarom my javascript is nie erken, die oplossing wat ek gevind in die tussentyd (en moes gedoen het in die eerste plek) is om 'n Asp:CompareValidator plaas gebruik van 'n Asp:CustomValidator.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top