2010-06-30 99 views
0

我有一個輸入字段,點擊後我會顯示一個日期選擇器來選擇日期。我希望始終讓該字段選擇使用該選擇器,而不是通過鍵入。原因是,我只是修改這一個領域,並不想觸摸整個代碼來驗證這個領域。我給了足夠的下拉選項供用戶從下拉列表中選擇,所以我更願意接受使用此選擇的輸入而不是鍵入。如果我允許打字,用戶可以將年份更改爲過去的一年,並覆蓋所有內容。html輸入字段選項

問候

+3

我希望你沒有使用JS做所有的驗證,因爲它可以很容易被禁用,然後用戶可以做/發送他們想要的任何東西。 – quantumSoup 2010-06-30 02:08:50

+1

即使啓用了JS,修改HTML表單也很簡單(例如:因此用戶可以爲「2005」添加新選項)。驗證總是需要在服務器端完成。 – nickf 2010-06-30 02:21:00

回答

1

你可以嘗試使用一個按鈕,在日期選擇和設置的隱藏字段的日期和可視標籤的選擇。

看一些和周圍這個例子:

http://jqueryui.com/demos/datepicker/#icon-trigger

+0

這是我用於日期選擇器的同一鏈接,但感謝您指出圖標觸發器選項。由於某些原因,字段仍然可以通過鍵入進行編輯。在某些站點中,它們具有此字段和圖標,只有通過圖標選擇才能更改此值。 我不能得到你的標籤idea.this是我有什麼 。我將這個i/p存儲爲db – Jay 2010-06-30 04:01:14

3

與強迫用戶使用日期選擇器的問題是,如果不能使用HTML5表單輸入的,你不得不使用JavaScript使選取器工作。如果JavaScript被禁用,那麼你的用戶將不得不手動輸入這個值,從而打敗你放在場上的任何編輯保護。無論如何,該輸入必須經過驗證。

此外,在沒有驗證的情況下留下您的輸入可能會使您容易受到SQL注入攻擊,訪問者使用其他工具(例如Firebug)通過該輸入手動發佈未經過濾的數據,並可能進入數據庫。

看,我知道表單驗證是一個痛苦,但試圖鎖定你的輸入,因爲你不想過濾它是一個麻煩的祕訣。

+0

我同意你的觀點。我的方法會導致一些注射。我錯過了firebug選項,並且像.i這樣的東西將用於驗證。它的小混亂,因爲代碼的其他部分已經存在,我將最終修改所有。 – Jay 2010-06-30 03:56:40