2011-11-03 45 views
0

我不是一個腳本編寫者,所以我有點讓這個東西工作,但基本上我有一個我正在嘗試註冊表單的驗證腳本添加一個輸入以驗證特定的年份範圍(1946-1964)。目前,如果您沒有正確輸入表單問題,會彈出一個對話框,顯示一條消息,指示您沒有正確填寫該字段。需要年份範圍驗證腳本或jquery

<script type="text/javascript"> 
function validateregform() 
{ 
with (document.getElementById('frontregisterform')) 
{ 

if (validate_required(document.getElementById('regname'),"Please fill in your full name!")==false) 
{document.getElementById('regname').focus();return false;} 

if (validate_email(document.getElementById('regemail'),"Please fill in a valid email address")==false) 
{document.getElementById('regemail').focus();return false;} 

if (validate_required(document.getElementById('pass'),"Please fill in your password")==false) 
{document.getElementById('pass').focus();return false;}  
} 
} 
</script> 

所以我需要這個做的是檢查字段項,以確保它是一年範圍內的1946至64年之內,然後,如果它不是簡單地彈出一個消息,說(註冊僅限於那些出生於1946年到1964年之間的人)。

這不需要是嚴重的事情,因爲我不需要防止個人實際註冊,如果他們不是在該年度範圍內出生的,其他驗證將在稍後的過程中需要,以防止其使用。就在此時,我需要提醒註冊人,該網站旨在供特定年齡組使用。

在這個問題上的任何援助將不勝感激。

回答

1

這可以幫助你嗎?

if (document.getElementById('popopo').value < 1946 
|| document.getElementById('popopo').value > 1964) { 
    alert("registration is restricted to those born between 1946 to 1964"); 
    return false; 
} 

[編輯]:不要忘了返回false,這樣的形式不發送

不要忘了接受的答案或要求更多信息。 Nicolas。

+0

不錯,稍微調整一下就可以得到它。非常感謝你。 –

0

如果您有關於具有ID「年」,全年輸入文本字段只是嘗試添加下面的框入驗證功能:

year=document.getElementById('year').value; 
if(year<1946 || year>1964) 
{ 
    alert("registration is restricted to those born between 1946 to 1964"); 
    return false; 
} 

反正你應該考慮使用jQuery UI的日期選擇器。它有選項來指定日期的範圍。看看這個jquery ui page

使用jQuery UI的它會像下面:

$(function() { 
    $("#datepicker").datepicker({ minDate: new Date(1946,1,1), maxDate: new Date(1964, 1, 1) }); 
}); 

利用上述用戶將被限制選擇只在該範圍的日期。

+1

第一部分+1,第二部分-1,淨零。 :-)人們不需要4000線庫加插件來進入他們出生的那一年。 OP可能會考慮提供具有有效年份的選擇元素作爲選項,但(但我仍然希望只輸入它)。 – RobG