Je me demande si quelqu'un d'autre a rencontré le problème suivant.Javascript Validation ne fonctionne pas sur les pages de contenu .Net
Sur un seul non-lié (à une page maître) .aspx page, je suis la scène JS validations simples:
function validateMaxTrans(sender, args) {
// requires at least one digit, numeric only characters
var error = true;
var regexp = new RegExp("^[0-9]{1,40}(\.[0-9]{1,2})?$");
var txtAmount = document.getElementById('TxtMaxTransAmount');
if (txtAmount.value.match(regexp) && parseInt(txtAmount.value) >= 30) {
document.getElementById('maxTransValMsg').innerHTML = ""
args.IsValid = true;
}
else {
document.getElementById('maxTransValMsg').innerHTML = "*";
args.IsValid = false;
}
}
Puis, dès que je passe cela en page de contenu d'une page principale, je get txtAmount est nul.
Existe-t-il une manière différente d'accéder au DOM lorsque vous tentez d'effectuer une validation JS côté client avec des pages maître/contenu?
Ouais, je me sers du ASP.Net TextBoxes. Utilisation de var txtAmount = document.getElementById ('TxtMaxTransAmount'); fonctionne très bien sur une page non content - juste une page .Net autonome. J'ai même utilisé l'identifiant .net qualifié/généré: ctl00_ContentPlaceHolderMainBody_Txt ... Je pense que la réponse de Tom peut fonctionner, mais j'ai fait un rapide travail, qui fonctionne très bien pour le moment. – ElHaix