2016-04-15 21 views
0

を確認します。<input type="date">をチェックして、今日の日付を超過していないかどうか、または提出する前に確認できますか?<input type = "date">

将来の日付を入力している場合、フォームが提出していないだろう、そのような

<html> 
<head> 
</head> 
<body> 
    <form> 
     <ul> 
      <li> 
       <label>Member Since </label> 
       <input id="since" name="since" size="2" maxlength="6" value="" type="date" required /> 
      </li> 
      <li> 
       <input type="Submit" name="Submit" id="btnsubmit" value="Submit" onclick="checkDate();" /> 
      </li> 
     </ul> 
    </form> 
</body> 
</html> 
+0

checkDate関数では、入力フィールドから値を取得します。次に、入力が超えていないことを確認する日に設定された新しいDate()オブジェクトを作成します。そこから、2つの日付を簡単に比較できます。 –

答えて

2

入力値をDate Objectに変換して、今日のスクリプトと入力値を比較してみてください。

input = document.getElementById("since"); // gets element 
value = input.value; // form value (string) 
date = new Date(value); // converts string to date object 
now = new Date(); // current date 
if (now > date) { 
    // in past 
} else { 
    // in future 
} 
+0

おかげです 作品 –

0

何かがあなたを助ける必要があります。

var dateText = document.getElementById('since').value; 
var date = new Date(dateText); 
var now = new Date(); 
if (date > now) { 
    console.log("Date needs to be in the past"); 
} 
1

2つのことを確認する必要があります。
1)有効な日付を入力しました。
2)は、希望する範囲の日付です。
以下のコードを試してください。提出を許可する前に両方の条件をチェックします。

<html> 
    <head></head>  
    <body>  
    <script> 
    function checkDate() { 
    var val = new Date(document.forms["frm"]["since"].value); 
    var now = new Date(); 
    if (isNaN(val.getTime()) || (val>now)) { 
     alert('invalid date'); 
     return false; 
     } 
     return true; 
    } 
    </script> 
     <form name="frm" onsubmit="return checkDate()"> 
    <ul> 
     <li> 
     <label>Member Since </label> 
     <input id = "since" name="since" size="2" maxlength="6" value="" type="date" required/> 
     </li> 
     <li> 
     <input type="Submit" name="Submit" id="btnsubmit" value="Submit" /> 
     </li> 
    </ul> 
    </form> 
</body> 
</html> 
関連する問題