J'utilise un CustomValidator dans ASP.NET comme suit:javascript window.event à venir nul?
<asp:CustomValidator ID="cvComment" ControlToValidate="txtComment" Display="None"
EnableClientScript="true" ClientValidationFunction="validateComment"
runat="server" ></asp:CustomValidator>
Et ceci est la fonction qui est appelée:
function validateComment(source, args) {
var reComment = new RegExp("^[a-zA-Z0-9',!;[email protected]#%*.\s]{1,1000}$");
var validComment = reComment.test(window.event.srcElement.value);
if (!validComment)
alert("The comment has illegal characters");
args.IsValid = validComment;
}
Après avoir cliqué sur le bouton qui déclenche le validateur, les pauses d'application et Je peux voir que la propriété window.event
est nulle, donc évidemment il y a une référence nulle essayant de faire correspondre le regEx. Ma question est pourquoi le window.event peut-il apparaître comme nul? J'aurais pu jurer que ça fonctionnait avant.
EDIT:
J'ai modifié la fonction en tant que telle:
var check = document.getElementById(source.id);
var checky = check.attributes["controltovalidate"].value;
var checkyo = document.getElementById(checky);
var validHour = reOutHour.test(checkyo.value);
if (!validHour)
alert("The time is incorrectly formatted");
args.IsValid = validHour;
Maintenant que cela fonctionne sur Internet Explorer, mais pas sur Firefox ...
Quels navigateurs et naviguez? 'window.event' est un contenu propriétaire d'IE. Dans d'autres navigateurs, l'objet événement est passé en tant que premier argument de la fonction de gestion. –
à la fois IE et Firefox –
Comment pourrais-je modifier cela pour soutenir les deux navigateurs? –