2017-04-02 12 views
0

日付フィールドを検証する機能は、以下のonBlurを実行していません。私はここで何が欠けているのか分からない。単純に検証を試みるだけです。javascriptがonBlurを実行していない

<div class="cell"> 
    <label>DOB</label><br>  
    <input id="dob" type="text" placeholder="01/01/1980" onBlur="checkForm(this.value);"> 
    </div> 


    <script type="text/javascript"> 


function checkForm(form) 
{ 
// regular expression to match required date format 
re = /^\d{1,2}\/\d{1,2}\/\d{4}$/; 

if(form.dob.value != '' && !form.dob.value.match(re)) { 
    alert("Invalid date format: " + form.dob.value); 
    form.dob.focus(); 
    return false; 
} 



alert("All input fields have been validated!"); 
return true; 
} 

+0

どこ 'form.starttime'と' form.startdate'ですか?あなたは 'this.value'を渡しています。これはフォーム要素を与えず、入力フィールドの値だけを与えます。 – mineralwasser

+0

関連するすべてのコードを提供できますか? 'startdate'と' starttime'はオブジェクトの一部であるようですが、関数に渡される引数は単一入力の値です。 –

+0

私は関数を更新しました。関数内でdobのidを正しく指定していないのですか? – neo

答えて

1
<div class="cell"> 
    <label>DOB</label><br>  
    <input id="startdate" type="text" placeholder="01/01/1980" onblur="checkForm()"> 
    <script> 
    function checkForm() 
{ 
// regular expression to match required date format 
re = /^\d{1,2}\/\d{1,2}\/\d{4}$/; 
var date = document.getElementById("startdate").value; 
alert(date); 
if(date != '' && !date.match(re)) { 
    alert("Invalid date format: " + date); 
    date.focus(); 
    return false; 
} 
alert("All input fields have been validated!"); 
return true; 
} 
    </script> 
    </div> 
+0

これを試してください。あなたの関数には開始時間がないので、それを指定してそれを検証しようとする必要があります。このコードは、有効な形式の日付文字列を検証するためのものです。 – LearningEnthu

関連する問題