我需要一些幫助來解決我的問題。我有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