2011-04-01 34 views
0

我有一個表單需要使用DOM方法和JavaScript爲我們的Web類進行驗證。我已驗證所有姓名,地址,電子郵件等字段。我已經使用模數算法驗證了給定的信用卡號碼。我們的下一個任務是驗證在html文件中通過標準選項框給出的給定日期(月,年)。 我明白如何檢索年份(因爲它將作爲整數返回),但是,對於檢索月份並將其轉換爲int的最有效方式感到好奇。 月是標準形式:從下拉框中檢索並驗證日期javascript

<label for="month">Month:</label> 
       <select id="month" name="month" disabled="true"> 
        <option value="0">January</option> 
        <option value="1">Febuary</option> 
        <option value="2">March</option> 
        <option value="3">April</option> 
        <option value="4">May</option> 
        <option value="5">June</option> 
        <option value="6">July</option> 
        <option value="7">August</option> 
        <option value="8">September</option> 
        <option value="9">October</option> 
        <option value="10">November</option> 
        <option value="11">December</option> 
       </select> 

很容易得到一個月爲一個字符串,但有一些辦法讓後面的數字直接使用的document.getElementById(「月」),但不知何故與它標記選項值+1,因此它直接返回int?或者我必須長期執行此功能, 即

1月= 1; 2月= 2; 等?

感謝您的任何幫助。

+1

爲什麼不只是將它們的值設置得更高? – Patricia 2011-04-01 18:22:57

+0

是的,但我們不允許對源html做任何更改。但是,我想我問如何以數字形式檢索它們的值。我不確定你是否可以,如果是的話,涉及的語法。 – unit 2011-04-01 18:24:08

回答

2

您可以撥打parseInt函數。像這樣:

// find your selected option 
var monthInteger = parseInt(yourSelectedValue) + 1; 
// aka Value of "0" gets parsed to 0, then you can add 1. 
1

如果你這樣做:

(document.getElementById('month').value * 1.0) + 1 

這應返回月份爲一個整數值。我做了* 1.0,但你可以parseInt。只要確保1 + 1 = 2(不是11)!

+0

謝謝,我認爲這很容易,但我們的初學者很不自信! – unit 2011-04-01 18:26:41