2013-02-23 11 views
2

我在這裏要做的是在用戶名存在時禁用按鈕。否則,該按鈕被啓用。我不擅長javascript/jquery,所以我可能需要一點幫助。任何將不勝感激:我如何提取.text(數據)值以將其置於條件語句中

$('#username2').keyup(function() { 
    var username = $(this).val(); 
    $('#username_status').text('searching....'); 
    if(username2 != "") { 
     $.post('username_check.php',{username2:username}, function(data) { 
      $('#username_status').text(data); 
     }); 
    } 
    else { 
     $('#username_status').text('Nothing'); 
    } 



    if ($('#username_status').text(data) != 'Username available!') { 
     $("#btnSignUp").prop("disabled", false); 
    } else { 
     $("#btnSignUp").prop("disabled", true); 
    } 
}); 

我猜我的方式,我做我的條件聲明是錯誤的。

回答

-1

默認情況下,您可以保持此按鈕處於禁用狀態。

<input id="btnSignUp" name="btnSignUp" disabled="disabled" type="button" value="Sign Up" /> 

如果用戶名可用,您可以通過

$("#btnSignUp").removeAttr('disabled'); 

啓用它,你還可以得到比較字符串如下

$("#username_status").val() != 'Username available!' 
+0

,如果他不使用輸入控制.VAL ()不會真的起作用。我猜他正在使用div或類似的東西,這就是爲什麼他使用.text() – scartag 2013-02-23 09:17:32

+0

事實上,他不需要把AJAX響應放在div中。他可以直接比較響應。 – JRR 2013-02-23 09:20:24

+0

他目前使用div來提供反饋,當請求開始時..我不認爲這是一個壞主意:) – scartag 2013-02-23 09:22:32

1

它應該是。

$('#username_status').text() 

這會給你正確的文本內容

if ($('#username_status').text() != 'Username available!') { 

    $("#btnSignUp").prop("disabled", false); 

} else { 

    $("#btnSignUp").prop("disabled", true); 

} 
0

你需要做的AJAX請求裏面檢查:

$('#username2').keyup(function() { 
    var username = $(this).val(); 
    if(username != "") { 
     $('#username_status').text('searching....'); 
     $.post('username_check.php',{username2:username}, function(data) { 
      $('#username_status').text(data); 
      $("#btnSignUp").prop("disabled", data != 'Username available!'); 
     }); 
    } 
    else { 
     $('#username_status').text('Nothing'); 
     $("#btnSignUp").prop("disabled", true); 
    } 
}); 
相關問題