2017-08-22 8 views
0

私は古いスクリプトを使用しています。私はjqueryタイプの人ではなく、スクリプトをうまく動作させるのが難しいです。Jquery update 1-3コードの問題

私はjqueryの3.2.1を使用していますが、私はこれだけは私が探しています何か問題を引き起こしているのかわからないのですjqueryの1.11.1 を使用して仕事を得ることができます。

スクリプトがhttp://www.2my4edge.com/2013/07/username-live-availability-check-using.html

この問題コード

$(document).ready(function(){ 

$("#username").change(function(){ 

var username = $("#username").val(); 
var msgbox = $("#status"); 

if(username.length > 4){ 

$("#status").html('<img src="loader.gif" align="absmiddle"> Checking availability...'); 

$.ajax({ 
    type: "POST", 
    url: "ajax.php", 
    data: "username="+ username, 
    success: function(msg){ 
    $("#status").ajaxComplete(function(event, request){ 
    if(msg == 'OK') { 

     $("#username").removeClass("red"); 
     $("#username").addClass("green"); 
     msgbox.html('<img src="available.png" align="absmiddle">'); 

    } else { 

     $("#username").removeClass("green"); 
     $("#username").addClass("red"); 
     msgbox.html(msg); 
    } 

    }); 
    } 

}); 

} else { 
$("#username").addClass("red"); 
$("#status").html('<font color="#cc0000">Please enter atleast 5 letters</font>'); 
} 
return false; 
}); 

}); 

答えて

0

に交換してくださいバージョン3の作品は次のとおりです

$(function() {  

$("#username").keyup(function(){ 

var username = $("#username").val(); 
var msgbox = $("#status"); 

if(username.length > 3){ 

$("#status").html('<img src="loader.gif" align="absmiddle">&nbsp;Checking availability...'); 

$.ajax({ 
    type: "POST", 
    url: "ajax.php", 
    data: "username="+ username, 
    success: function(msg){ 

    if(msg == 'OK') { 

     $("#username").removeClass("red"); 
     $("#username").addClass("green"); 
     msgbox.html('<img src="available.png" align="absmiddle">'); 

    } else { 

     $("#username").removeClass("green"); 
     $("#username").addClass("red"); 
     msgbox.html(msg); 
    } 

    } 

}); 

} else { 

$("#username").addClass("red"); 
$("#status").html('<font color="#cc0000">Please enter atleast 5 letters</font>'); 
} 
return false; 
}); 

}); 
0

前年比成功コールバックは、AJAX仕上げを起動しますから、意味がありません成功コールバック関数、内ajaxCompleteを使用しているここに位置しています。また、.ajaxComplete()に従って:jQueryの1.9のよう

、jQueryのグローバルのAjaxイベント、.ajaxComplete()メソッドを添加したものを含む のためのすべてのハンドラが、 文書に添付されなければなりません。

行を削除するようにしてください:

$("#status").ajaxComplete(function(event, request){ 

とその閉じ括弧と括弧:

}); 

また、$(document).ready(function(){はjQueryの3で廃止され$(function() {

+0

あなたが示唆したことを試してみましたが、私はそれをすべて一緒に機能しなくなりました。 – Rome

+0

'$(" username ")を変更する必要があることを除いて、私はあなたに正しい答えを選びました。 (function(){'〜' $( "#username"))キーアップ(function(){'フィールドにコピー/ペーストを処理したい場合は、それを '$(" username ")。on(" input "、function(){'に変更することができます。 – Wizard