當前位置:
首頁 > 知識 > 使用easyui的datetimebox插件輸入日期,同時對日期進行驗證

使用easyui的datetimebox插件輸入日期,同時對日期進行驗證

進公司上班有一個月了,公司的項目界面都是用easyui做的,這裡總結一些遇到的easyui插件的問題,方便以後用到時可以參考。本次就先說說easyui的datetimebox插件。

1.多個時間輸入框,後面的時間一次比前一個輸入框時間大。如:time1<time2<time3.時間不正確時,會返回false,同時會有提示。

如下圖:

使用easyui的datetimebox插件輸入日期,同時對日期進行驗證

代碼如下:HTML代碼:

  1. <td align="right" stylex="width:20%;">時間1:</td>
  2. <td>
  3. <input type="text" id="time1" stylex="width: 195px" required="true" editable="false"
  4. class="easyui-datetimebox"/>
  5. </td><br/>
  6. <td align="right" stylex="width:20%;">時間2:</td>
  7. <td>
  8. <input type="text" id="time2" stylex="width: 195px" required="true" editable="false"
  9. validType="TimeCheck["time1"]" invalidMessage="time2要大於time1"
  10. class="easyui-datetimebox"/>
  11. </td><br/>
  12. <td align="right" stylex="width:20%;">時間3:</td>
  13. <td>
  14. <input type="text" id="time2" stylex="width: 195px" required="true" editable="false"
  15. validType="TimeCheck["time2"]" invalidMessage="time3要大於time2"
  16. class="easyui-datetimebox"/>
  17. </td>

js代碼:

  1. <script type="text/javascript">
  2. $.extend($.fn.validatebox.defaults.rules,{
  3. TimeCheck:{
  4. validator:function(value,param){
  5. var s = $("input[name="+param[0]+"]").val();
  6. //因為日期是統一格式的所以可以直接比較字元串 否則需要Date.parse(_date)轉換
  7. return value>=s;
  8. },
  9. message:"非法數據"
  10. }
  11. });
  12. </script>

注釋:這種方法有個弊端,就是如果先輸入後面time2的日期,在輸入前面time1的日期,並且time2<time1的話,不會有提示,但是提交表單的時候,會返回false。

2.上面一個年份輸入框,選擇一個年份,下面輸入框的年份必須與上面所選年份相同。如圖:

使用easyui的datetimebox插件輸入日期,同時對日期進行驗證

HTML代碼:

  1. <td align="right" stylex="width:20%;">年 份:</td>
  2. <td>
  3. <select id="year" stylex="width:195px;" class="easyui-combobox" panelHeight="auto" editable="false">
  4. <option value="2014">2014</option>
  5. <option value="2015">2015</option>
  6. <option value="2016">2016</option>
  7. </select>
  8. </td><br/>
  9. <td align="right" stylex="width:20%;">時間1:</td>
  10. <td>
  11. <input type="text" id="time1" validType="TimeCheck" invalidMessage="所選時間年份必須與所選年份相同" stylex="
  12. width: 195px" required="true" editable="false" class="easyui-datetimebox"/>
  13. </td><br/>
  14. <td align="right" stylex="width:20%;">時間2:</td>
  15. <td><span stylex="font-family: Arial, Helvetica, sans-serif;"><input type="text" id="time2" validType="TimeCheck" invalidMessage="所選時間年份必須與所選年份相同" stylex="width: 195px" required="true" editabl="false" class="easyui-datetimebox"/></td></span>
  1. js代碼:
  2. <script type="text/javascript">
  3. $.extend($.fn.validatebox.defaults.rules,{
  4. TimeCheck:{
  5. validator:function(value,param){//value是所選文本的值,字元串類型
  6. var y=$("#year").combobox("getValue").valueOf();//取出下拉框的值
  7. var time=new Date(Date.parse(value.replace(/-/g, "/")));//將文本框自帶的值(字元串)轉換成Date類型
  8. var t=time.getFullYear().valueOf(); //取得年份
  9. return t==y;
  10. },
  11. message:"選擇時間年份必須與提案所在時間一致"
  12. }
  13. });
  14. </script>

看下面代碼的結果,如圖,value和param的值。

  1. $.extend($.fn.validatebox.defaults.rules,{
  2. TimeCheck:{
  3. validator:function(value,param){
  4. console.info(value);
  5. console.info(param);
  6. console.info(param[0]);
  7. }
  8. }
  9. });

<input class="easyui-datetimebox" type="text" id="beginDate" name="beginDate" validType="TimeCheck["a1","a2"]" stylex="width: 195px" required="true" editable="false"/>

使用easyui的datetimebox插件輸入日期,同時對日期進行驗證

使用easyui的datetimebox插件輸入日期,同時對日期進行驗證

注釋:HTML中的invalidMessage="所選時間年份必須與所選年份相同" 是當輸入的數據不合法是要顯示的信息,如果沒有ivalidMessage,就會顯示js中的message:『選擇時間年份必須與提案所在時間一致』,如果兩者都有的話,會顯示HTMl中的提示信息。

使用easyui的datetimebox插件輸入日期,同時對日期進行驗證

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

一個製作Web圖案的組件css-doodle
php 郵箱驗證函數

TAG:程序員小新人學習 |