2011-07-19 14 views
-1

我想,當用戶輸入時,打字結束後運行任何東西(例如:AJAX CALL)0000/00/00(它是格式日期),它怎麼樣?

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

運行$ .ajax()的唯一的事情是真正的輸入這種格式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

你必須小心,因爲這將匹配「等等等等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,而不是改變。

相關問題