我需要一些帮助来解决我的问题。我有2个输入字段和一个掩码(http://digitalbush.com/projects/masked-input-plugin/),就像> 12/2010(mm/yyyy)。提交表单为无效日期为2的字段
我希望该用户可以在日期有效或空白时注册表单,并在日期无效时在div中发送警报。
它的工作很好,如果我有1场,但是当我有2场,如果用户在第二次输入有效日期,他可以注册形式。
否则,如果您有任何想法,以限制可开始日期之前结束日期...
感谢所有帮助;)
我的HTML代码:
<form id="blockdate">
<div>date start: <input class="date" type="text"></div>
<div>date end: <input class="date2" type="text"></div>
<div><input class="submit" type="submit"></div>
<div id="msg"></div>
</form>
我的JS代码:
function verifyDate(datevalue) {
var done = false;
if(datevalue != null || datevalue != ''){
var tmp = datevalue.split('/');
var month = tmp[0];
var year = tmp[1];
if(month >= 1 && month <= 12){
if(year >= 1990 && year <= 2099){
clean();
done = true;
}
else {
$('#msg').html('Year invalid 1900 - 2099.');
}
} else {
$('#msg').html('Month invalid');
}
} if (datevalue < 1) {
done = true;
}
return done;
}
function verifyDate2(datevalue2) {
var done = false;
if(datevalue2 != null || datevalue2 != ''){
var tmp = datevalue2.split('/');
var month = tmp[0];
var year = tmp[1];
if(month >= 1 && month <= 12){
if(year >= 1990 && year <= 2099){
clean();
done = true;
}
else {
$('#msg').html('Year invalid 1900 - 2099.');
}
} else {
$('#msg').html('Month invalid');
}
} if (datevalue2 < 1) {
done = true;
}
return done;
}
function clean() {
$('#msg').html('');
}
jQuery(function($) {
$(".date").mask("99/9999");
$('.blockdate').submit(function() {
var datevalue = $('.date').val();
var datevalue2 = $('.date2').val();
return verifyDate(datevalue);
});
$(".date").change(function(){
var datevalue = $(this).val();
if(datevalue.length == 7) {
verifyDate(datevalue);
} else {
clean();
}
});
jQuery(function($) {
$(".date2").mask("99/9999");
$('.blockdate').submit(function() {
var datevalue2 = $('.date2').val();
return verifyDate2(datevalue2);
});
$(".date2").change(function(){
var datevalue2 = $(this).val();
if(datevalue2.length == 7) {
verifyDate2(datevalue2);
} else {
clean();
}
});
});
});
你好Oybek, 感谢您的解释与正则表达式,但我不熟悉的JS,不明白我怎么调用这个函数? ?? 非常感谢 – Tomaw 2012-02-02 14:36:15
用'TestDate'代替'verifyDate'函数 – Oybek 2012-02-02 14:39:47
我无法找到答案,我用你的代码测试了不同的东西,但是找不到解决方案。 我很抱歉再次打扰你... – Tomaw 2012-02-02 15:05:56