我有一个页面,其中有一个日期字段和一个CKeditor textarea(在textarea位置创建一个iframe)。在日期选择器上,我已经定义了一个模糊函数来检查日期有效性,它可以正常工作。
然而,问题是当我点击一个日期选择器字段时,日历弹出窗口生成然后我输入一个无效的日期,然后点击内部ckeditor,日历保持打开但焦点丢失但模糊功能仍然没有。被叫。因此无效的日期会发送到服务器(我需要对此日期字段进行客户端验证)。
$(function(){
$(".dateClass").datepicker({
changeMonth : true,
changeYear : true,
yearRange: "-10:+10",
dateFormat : "dd/mm/yy",
buttonText : "Choose",
showOtherMonths : true,
selectOtherMonths : true
});
$(".dateClass").blur(function(){
if(this.value!=undefined && this.value!=null && this.value.replace(/^\s+|\s+$/g, '')!=''){
if(!isDateValid(this.value) && calendarOpen==0){
alert('Please enter a valid date in dd/mm/yyyy format');
this.focus();
}
}
});
});
CKeditor实际上是在页面中嵌入iframe。 当用户点击日期字段然后点击iframe时,如何调用模糊功能?
答案 0 :(得分:2)
thnx我通过解决方法让它发挥作用
document.onfocusout = function(e){ //for IE8 and lesser
if( e === undefined ){
//keeping validations here
}
}
$(window).blur( function(e){ //for other browsers –
if( e !== undefined ){
//keeping validations here
}
}
答案 1 :(得分:0)
使用onSelect作为您所需的情况
$(" .dateClass&#34)日期选择器({。 changeMonth:true,changeYear:true, yearRange:" -10:+ 10",dateFormat:" dd / mm / yy", buttonText:"选择",showOtherMonths:true, selectOtherMonths:true, onSelect:function(dateText,inst){var date = $(this).val(); var time = $(' #time')。val();提醒(' on select triggered'); } });
对于未格式化的代码,我们深表歉意。 希望它会有所帮助 http://forum.jquery.com/topic/jquery-datepicker-onblur