C# ASP.NET自定义控件验证在Firefox或Chrome中不起作用?

C# ASP.NET自定义控件验证在Firefox或Chrome中不起作用?,c#,javascript,asp.net,validation,custom-controls,C#,Javascript,Asp.net,Validation,Custom Controls,我使用来自的日期选择器控件。以下是为ID为DatePicker1的DatePickerControl生成的代码 以及ID为dateValid1的必需字段验证程序 <span id="DatePicker1" style="display:inline-block;"> <table cellspacing="0" cellpadding="0" style="border-width:0px;border-style:None;border-collapse:colla

我使用来自的日期选择器控件。以下是为ID为DatePicker1的DatePickerControl生成的代码 以及ID为dateValid1的必需字段验证程序

<span id="DatePicker1" style="display:inline-block;">
    <table cellspacing="0" cellpadding="0" style="border-width:0px;border-style:None;border-collapse:collapse;white-space:nowrap;">
        <tr>
             <td valign="middle" style="border-style:none;border-width:0px;height:30px;">
                 <input name="DatePicker1$txt" type="text" id="DatePicker1_txt" OnKeyPress="return checkAllowedKey(event);" ReadOnly="true" style="width:70px;" />&nbsp
             </td>
             <td style="height:30px;"><img id="DatePicker1_img" onclick="javascript:return popUpCalendar(this, document.getElementById(&#39;DatePicker1_txt&#39;), &#39;M/d/yyyy&#39;, 1, false);" src="/WebResource.axd?d=ckpr7cUtwvCqFzFtoOMMl-4meGGqq3nc2D5C6-dKgqdMrj98KyPSR4rWmz3ep5RWWG3PiCx0mH7RhNYzT4Y5-Ms5Jyq9icgD32i9a4keUnHT0RDYjrVVQCgudwPoIHymrp3dls954_LcWKuDlvPu4g2&amp;t=635423491947401645" />
             </td>
        </tr>
    </table>
</span>

<span id="dateValid1" style="color:Red;display:none;">*required</span>
javascript代码是

<script type="text/javascript">
//<![CDATA[
var dateValid1 = document.all ? document.all["dateValid1"] : document.getElementById("dateValid1");
dateValid1.controltovalidate = "DatePicker1";
dateValid1.errormessage = "*required";
dateValid1.display = "Dynamic";
dateValid1.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid";
dateValid1.initialvalue = "";
//]]>
</script>

问题是,验证程序在Chrome和Firefox中总是无效的,但在IE中工作正常。

我下载了源代码并更改了生成的html代码,使其不使用表。此修复后验证工作正常。本问题中示例生成的代码如下

<span id="DatePicker1" style="display:inline-block;">
   <input name="DatePicker1$txt" type="text" id="DatePicker1_txt" OnKeyPress="return checkAllowedKey(event);" ReadOnly="true" style="width:70px;" />
   <img id="DatePicker1_img" onclick="javascript:return popUpCalendar(this, document.getElementById(&#39;DatePicker1_txt&#39;), &#39;M/d/yyyy&#39;, 1, false);" src="/WebResource.axd?d=ckpr7cUtwvCqFzFtoOMMl-4meGGqq3nc2D5C6-dKgqdMrj98KyPSR4rWmz3ep5RWWG3PiCx0mH7RhNYzT4Y5-Ms5Jyq9icgD32i9a4keUnHT0RDYjrVVQCgudwPoIHymrp3dls954_LcWKuDlvPu4g2&amp;t=635423491947401645" />
</span>

请参阅此项目,如果它被接受,我的修复程序将在备选方案中。

我可以查看checkAllowedKey函数吗?从此链接下载源代码