2016-01-08 117 views
0

我正在寫一個HTML文件來接受日期輸入。我使用日期選擇器來選擇日期,而不是從日期選擇器中選擇日期,如果用戶在文本字段中手動輸入日期,例如:09/31/16我需要向用戶提供日期無效的信息日期。但是我在下面給出的代碼是2016年10月1日創建日期對象時。如果我將日期轉換爲ISOString,它將顯示爲9月30日。但我期望的輸出是將消息顯示爲「無效日期」。請幫助我,因爲我必須解決這個問題,因爲我將在我的開發過程中在很多地方使用日期。謝謝。JavaScript日期問題應顯示錯誤的無效日期

<html lang="en"> 
    <head> 
     <meta charset="utf-8"> 
     <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.10.2/jquery.js"></script> 
     <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script> 
     <script> 
      $(function() { 
       $("#datepicker").datepicker(); 
      }); 
      function verifyDate() { 
       var d = new Date($("#datepicker").val()); 
       console.log(d); 
       var d = new Date($("#datepicker").val()).toISOString(); 
       console.log(d); 
      } 
     </script> 
    </head> 
    <body> 
     <p>Date: <input type="text" id="datepicker" onblur="verifyDate()"></p> 
    </body> 
</html> 
+1

。如果U想,U可以對日期選擇器設置 –

+1

使用moment.js日期選擇器領域禁用用戶輸入,他們有一個內置的函數來檢查它是否是有效的日期。 – Jorrex

+0

http://stackoverflow.com/questions/153759/jquery-datepicker-with-text-input-that-doesnt-allow-user-input –

回答

0

,如果你想獲得用戶選擇的日期,你的代碼應該是這樣的:

<html lang="en"> 
<head> 
<meta charset="utf-8"> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.10.2/jquery.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script> 
    <script> 
     $(function() { 

     $("#datepicker").datepicker({ 
      onSelect: function(){ 
       var dateValue = $(this).datepicker('getDate'); 
      console.log(dateValue); 
     } 
     }); 

    });  
    </script>  
    </head> 
    <body>  
<p>Date: <input type="text" id="datepicker" ></p> 

</body>