我正在创建一个包含输入字段i的表单,我应该插入一个不应该优于当前日期的日期,否则将使用javascript显示消息错误。 这是我的js代码:
<script>
$( document ).ready(function() {
$('#chevron1').change(function(){checkDate();});
$('#chevron1').blur(function(){checkDate();});
});
function checkDate() {
//alert('aaaaaa');
Nowdate = new Date();
Nowdate.setHours(0);
Nowdate.setMinutes(0);
Nowdate.setSeconds(0);
Nowdate.setMilliseconds(0);
console.log("date du jour"+Nowdate)
var dd=$("#chevron1").val();//format 0000-00-00 aaaa-mm-jj
console.log("dddddddddddddd"+dd);
var thedate=dd.split('-');
var an=thedate[0];
var mo=thedate[1];
var jo=thedate[2];
var dateinsere = new Date(jo,mo-1,an);
console.log("ddobjeeeettttttt"+dateinsere);
if ((dateinsere > Nowdate) && (dateinsere !=null)){
error('F_PREL01_9_MSG');
document.getElementById('chevron1').focus();
document.getElementById('chevron1').select();
return false;
}
</script>
这是我的输入字段
<input id="chevron1" name="date" type="text" class="span12" value="<s:date name="date" format="dd-MM-yyyy"/>" />
我的问题是当我插入一个invali日期时,我得到了预期的对话框消息,但是当我点击确定时,由于焦点,此处的对话框仍未关闭。就像他在焦点上调用checkDate方法一样。 我需要在出现错误对话框并单击确定按钮时,输入字段将被聚焦并被选中,因此我无法在inserin alid date之前填写其他输入。
我该如何解决这个问题?