2012-11-19 117 views
11

這裏是我的網站:http://splash.inting.org/wp/引導日期選擇器(避免文本輸入或限制手動輸入)

我目前使用的Bootstrap Datepicker (range branch)我的電話。日期字段,它已經很大。

雖然我有2問題

1)您可以手動輸入的輸入欄的字符串。這很奇怪,因爲original by eyecon只要輸入非日期值就輸入當前日期就不允許輸入它。我嘗試了只讀屬性,它似乎不工作,因爲它不會允許您選擇任何日期。

2)通過修改another post中的答案,我將日期輸入選項限制爲星期二和星期四。在加載日期選擇器時,選擇的默認日期是當前日期,可以是一週中的任何其他日子。我想避免這種情況,只選擇星期二或星期四。

+0

您的網站已關閉 – Trevor

回答

2

使用只讀屬性,並追加一個附加的輸入元素後的輸入後觸發日期選擇器:

<input type="text" name="CallDate" value="" id="CallDate" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required input-medium date date-pick" size="40" readonly> 
<span class="add-on"><i class="icon-calendar"></i></span> 

,應該工作。

對於第二個問題,你可以使用日期選擇器的修改版本在這裏: https://github.com/eternicode/bootstrap-datepicker和使用選項daysOfWeekDisabled

65

覆蓋上輸入控制的關鍵事件。

<input onkeydown="return false" ... /> 
+1

完美答案:) –

+0

也是所有類似問題的最佳答案。如果您進行只讀或禁用,這可以防止新的HTML輸入類型的日期顯示瀏覽器的內置日期選擇器。此方法允許默認的瀏覽器體驗,但禁止手動輸入! –

+0

非常感謝......它的工作原理..... –

1

我設法得到可接受的解決方案如下:

$(".date").datetimepicker({ 
    defaultDate: moment(), 
    format: 'YYYY-MM-DD' 
}).end().on('keypress paste', function (e) { 
    e.preventDefault(); 
    return false; 
}); 

希望你的作品呢!

+0

'keypress'不佔用刪除鍵...我使用了'keydown'來代替,並且阻止了選項卡上的動作執行(keycode = 9 )並返回(鍵碼= 13)鍵。 – Pablo

相關問題