我使用此链接中的日期选择器控件。这是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>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句