2011-07-19 3 views
-1

私は、タイプ入力の後、0000/00/00(それはフォーマットの日付)を入力した後、何かを実行したい(例:AJAX CALL)、どうですか?

like: 
if user typed: 2011/05/04 -> run: $.ajax()... 
if user typed: 2011/05 -> not run: $.ajax()... 
... 

実行のためのもの$ .ajax()はtrueです。この形式は0000/00/00と入力してください。
私の目的を理解していただければ幸いです。
です。

+1

彼はどこにそれをタイプするのですか? –

答えて

3

HTML:

<input type="text" name="datefield" onchange="validateField(this)" /> 

JS:

function validateField() { 
    var val = this.value; 
    if (val.length < 10) { 
     return; 
    } 
    if (!val.match(/\d\d\d\d\/\d\d\/\d\d/)) { 
     return; 
    } 
    ... do ajax call here 
} 
+1

これは "blah blah 2011/02/04"にも一致するので、注意する必要があります。そこに許可されている唯一のものが日付の場合は、/^\ d \ d \ d \ d \/\ d \ d \/\ d \ d $ /を実行する必要があります。 –

+0

真実、ちょうどクイック/汚れた例です。 –

1
$("inputTextBoxSelector").keyup(function(e){ 
    if($(this).val().match(/\d\d\d\d\/\d\d\/\d\d/){ 
    $.ajax(....); 
    return false; 
    } 
}) 
0

あなたが行うことができます...

$('input').change(function(e) { 
    var val = $(this).val(); 
    if (val.length == 10) { 
    if(val.match(/^\d{4}\/\d{2}\/\d{2}$/)) { 
     $.ajax(); 
    } 
    } 
}); 

あなたはまた、変更するのではなく、keyUpイベント試すことができます。

関連する問題