Javascript 使用指定的格式键入结束时运行$.ajax()。怎么样?

Javascript 使用指定的格式键入结束时运行$.ajax()。怎么样?,javascript,jquery,jquery-effects,typeof,Javascript,Jquery,Jquery Effects,Typeof,我想,当用户键入0000/00/00(这是格式化日期)时,在键入结束后运行任何东西(例如:AJAX调用),效果如何 like: if user typed: 2011/05/04 -> run: $.ajax()... if user typed: 2011/05 -> not run: $.ajax()... ... run$.ajax()的唯一内容是true,键入此格式0000/00/00。 我希望你理解我的目的。 尊敬的。HTML: <input type="text"

我想,当用户键入0000/00/00(这是格式化日期)时,在键入结束后运行任何东西(例如:AJAX调用),效果如何

like:
if user typed: 2011/05/04 -> run: $.ajax()...
if user typed: 2011/05 -> not run: $.ajax()...
...
run$.ajax()的唯一内容是true,键入此格式0000/00/00。
我希望你理解我的目的。
尊敬的。

HTML:

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

JS:

函数validateField(){
var val=该值;
如果(值长度<10){
返回;
}
如果(!val.match(/\d\d\d\/\d\d\/\d\d/)){
返回;
}
…在这里打电话吗
}
您可以

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

您也可以尝试使用keyup,而不是change。

在他将其键入何处后?您必须小心,因为这也将与“blah blah 2011/02/04”匹配。如果只允许输入日期,则需要执行/^\d\d\d\d\/\d\d$/操作。没错,这只是一个简单的示例。
$("inputTextBoxSelector").keyup(function(e){
  if($(this).val().match(/\d\d\d\d\/\d\d\/\d\d/){
    $.ajax(....);
    return false;
  }
})
$('input').change(function(e) {
  var val = $(this).val();
  if ( val.length == 10 ) {
    if( val.match(/^\d{4}\/\d{2}\/\d{2}$/) ) {
      $.ajax();
    }
  }
});