Am o funcție de validare personalizată în JavaScript într-un control de utilizator pe un site web .Net 2.0 care verifică dacă taxa plătită nu depășește suma datorată.
Am plasat codul de validator în ascx
fișier, și am încercat, de asemenea, folosind Page.ClientScript.RegisterClientScriptBlock ()
și, în ambele cazuri, incendiile de validare, dar nu pot găsi funcția JavaScript.
The output in Firefox's error console is "feeAmountCheck is not defined"
. Here is the function (this was taken directly from firefox->view source)
Orice idei despre motivul pentru care funcția nu este găsită? Cum pot remedia această problemă fără a adăuga funcția pe pagina principală sau pe pagina consumatoare?
Încercați să modificați numele argumentului la sender
și args
. Și după ce lucrați, comutați apelul la ScriptManager.RegisterClientScriptBlock
, indiferent de utilizarea AJAX.
În timp ce mi-ar plăcea încă un răspuns la motivul pentru care javascript-ul meu nu a fost recunoscut, soluția pe care am găsit-o între timp (și ar fi trebuit să o fac în primul rând) este de a folosi un Asp: CompareValidator
un Asp: CustomValidator
.
De asemenea, ați putea folosi:
var amountDue = document.getElementById('<%=YourControlName.ClientID%>');
Aceasta va rezolva automat id-ul clientului pentru element, fără a trebui să dați seama că se numește 'ctl00_footerContentHolder_Fees1_FeeDue'
.