asp.net自定义控件验证在Firefox或Chrome中不起作用
本文关键字:Chrome 不起作用 Firefox net 自定义控件 验证 asp | 更新日期: 2023-09-27 18:15:59
我使用这个链接中的日期选择器控件。下面是为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;" /> 
</td>
<td style="height:30px;"><img id="DatePicker1_img" onclick="javascript:return popUpCalendar(this, document.getElementById('DatePicker1_txt'), 'M/d/yyyy', 1, false);" src="/WebResource.axd?d=ckpr7cUtwvCqFzFtoOMMl-4meGGqq3nc2D5C6-dKgqdMrj98KyPSR4rWmz3ep5RWWG3PiCx0mH7RhNYzT4Y5-Ms5Jyq9icgD32i9a4keUnHT0RDYjrVVQCgudwPoIHymrp3dls954_LcWKuDlvPu4g2&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('DatePicker1_txt'), 'M/d/yyyy', 1, false);" src="/WebResource.axd?d=ckpr7cUtwvCqFzFtoOMMl-4meGGqq3nc2D5C6-dKgqdMrj98KyPSR4rWmz3ep5RWWG3PiCx0mH7RhNYzT4Y5-Ms5Jyq9icgD32i9a4keUnHT0RDYjrVVQCgudwPoIHymrp3dls954_LcWKuDlvPu4g2&t=635423491947401645" />
</span>
查看这个项目的链接,如果它被接受,我的修复将在替代方案中