2013-07-16 2 views
0

등록 양식을 작성 중입니다. #onimg och #offimg는 img가있는 두 개의 div입니다. 사용 가능한 사용자 이름을 입력하면 #offimg가 표시되고 이미 사용 된 사용자 이름을 선택하면 #onimg vill이 표시됩니다.json with hide 및 else

등록 필드에 아무 것도 쓰지 않으면 (예 : 텍스트 삭제) 이미지를 숨기고 싶습니다. 그러나 그들은 (= 해달라고. 여기

는 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; 
} 

하고 있습니다

$('#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 
     } 
    }); 
}); 

BTW JQuery와에게, 당신은 할 수있다 한 번에 두 이미지 모두 :

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

$("#user").focusout() 핸들러를 문서 준비 기능 내에 두어야합니다.

+0

댕, 나를 때려. –

+0

오 감사합니다. 나는 issu라는 이름을 고쳤지 만 아직도 실패한다. 내 js 파일의 시작 부분에 포커스 아웃을 직접 지정해야한다는 의미입니까? – user2586036

+0

아니, 내 말은'$ (function() {...}'안에 있어야한다는 것입니다. – Barmar