0
我使用ASP.NET中的CustomValidator如下:javascript window.event未來?
<asp:CustomValidator ID="cvComment" ControlToValidate="txtComment" Display="None"
EnableClientScript="true" ClientValidationFunction="validateComment"
runat="server" ></asp:CustomValidator>
而且這是被調用的函數:
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;
}
一旦點擊觸發驗證程序,該應用程序中斷和按鈕我可以看到window.event
屬性爲空,所以顯然有一個空引用試圖匹配regEx。我的問題是爲什麼window.event可以顯示爲空?我可以發誓這是以前工作。
編輯:
我已經修改了功能,例如:
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;
現在這個工作在Internet Explorer,但不能在Firefox ...
您正在測試哪個瀏覽器? 'window.event'是IE專有的東西。在其他瀏覽器中,事件對象作爲處理函數的第一個參數傳遞。 – 2010-10-25 15:16:22
IE和Firefox – 2010-10-25 15:21:32
我該如何修改以支持這兩種瀏覽器? – 2010-10-25 15:25:53