这是我的场景:我有一个索引页面,上面有 2 个单选按钮和一个用于结果的跨度区域。单击其中一个单选按钮时,span 会填充一个 ajax 生成的页面,该页面具有一个输入框,如下所示:
<input size='25' class='datepicker' value='Click to enter deposit date' READONLY type='text' id='depositDate' name='depositDate'>
在这个页面的底部有一个“添加记录”按钮,它会触发 JavaScript 验证。验证是这样的:
var inpDepDate = $.trim($("#depositDate").val());
if(inpPayDate=='Click to enter pay date') // Validate pay date
{
alert('Invalid pay date; re-enter');
document.getElementById('payDate').focus();
document.getElementById('payDate').select();
return false;
}
在我的 javascript 文件中还有:
$(function(){
$( "#depositDate" ).live('focus', function() {
$(this).datepicker({
changeMonth: true,
changeYear: true,
minDate: "+1D",
showOtherMonths: true,
selectOtherMonths: true}).focus();
});
});
问题是当验证失败时,文本会突出显示并被选中,但不会自动打开。
我尝试了很多东西,实际上是这个网站上的很多东西,但没有运气。它似乎永远无法识别现场活动。但是,如果我在验证失败后单击文本框(并且文本被突出显示),日历打开就好了。我在 jQuery 和 ui 方面相当新。