2013-07-16 35 views
0

我正在建立一個註冊表單。 #onimg och #offimg是兩個div與img。如果您填寫#offimg將顯示的可用用戶名,並且您選擇了#onimg vill顯示的已準備好的用戶名。json用隱藏,否則如果

如果您在註冊字段中根本沒有寫任何東西(例如,如果您刪除文本),我希望圖像隱藏。但他們不=(

這裏是HTML

<ul> 
    <li>Username:</li> 
    <li>Password:</li> 
</ul> 

<ul> 

    <li><input type="text" id="user" name="user" value="" /></li> 
    <li><input type="text" id="pass" name="pass" value="" /></li> 
    <li><input type="checkbox" name="show" value="password">Show password</li> 
</ul> 

<div id="onimg"></div> 
<div id="offimg"></div> 


</fieldset> 

<button type="button" id="reg" value="" >Register</button> 

一些CSS

#onimg { 
    z-index:1000; 
    position:absolute; 
    left:300px; 
    top:23px; 
    background-image:url('notavailable.png'); 
    width:20px; 
    height:20px; 
} 

#offimg { 
    z-index:1000; 
    position:absolute; 
    left:300px; 
    top:23px; 
    background-image:url('available.png'); 
    width:20px; 
    height:20px; 
} 

,這裏是jQuery的

$('#user').focusout(function(){ 

    var users = $('#user').val(); 

    $.getJSON("available.php" ,  //The URL to perform the lookup 
    {name: users }, //The data you send 
    function (result){  //The function to fire upon return 
     if (!result) {  //result is JSON formatted 
      $('#onimg').fadeIn('fast'); 
     } else { 
      $('#offimg').fadeIn('fast'); 
     }            
    }); 

}); 

$(function() { 
    $('#user').blur(function() { 
     if($(this).val() == '') { 
      $("#onimge").hide(); 
      $("#onimge").hide(); 
     } 
    }); 
}); 

回答

1
$(function() { 
    $('#user').blur(function() { 
     if($(this).val() == '') { 
      $("#onimge").hide(); // You misspelled #onimg 
      $("#onimge").hide(); // This one should be #offimg, not a repeat of #onimg 
     } 
    }); 
}); 

順便說一句,你可以做兩個圖像在一次通話中:

$("#onimg, #offimg").hide(); 

您還應該將$("#user").focusout()處理程序放入文檔就緒函數中。

+0

dang,打我吧。 –

+0

哦謝謝。我修復了名稱issu,但仍然失敗。你的意思是我應該把焦點直接放在我的js文件的開頭? – user2586036

+0

不,我的意思是它應該在'$(function(){...}'裏面 – Barmar