2012-08-04 2 views
1

나는 PHP를 통해 효과를 유발하려고 노력해 왔습니다. 기본적으로 사용자가 잘못된 비밀번호를 입력하면 제출 버튼을 흔들어서 표시하려고합니다. 그렇게하려면 PHP를 거쳐 데이터베이스에서 사용자의 유효성을 검사해야합니다. 실패 할 경우 다음 코드가 jQuery 효과를 발생시키는 것으로 가정합니다.PHP (echo)를 사용하여 jQuery 이벤트 트리거?

echo'<script>$(".shake").effect("shake", {times:2, distance:3, direction:"right"}, 45);</script>'; 

왜 이것이 작동하지 않을지 알 수 있지만 다른 방법은 없습니다.

+0

왜 아약스로하지 않습니까? –

+0

그 밖의 무엇을 페이지가 인쇄합니까? JS가 머리에 또는 DOM'.shake' 객체 뒤에 인쇄되어 있습니까? – Kurt

답변

1

당신은 AJAX가 필요합니다. 클라이언트는 AJAX에 의해 암호가 올바른지 여부를 서버에 확인한 다음 그 결과에 대한 응답으로 단추를 흔들 (또는 누르지 않음)합니다. 이런 식으로 뭔가 :

$.ajax("http://www.example.com/ajax.php", { 
    data: { 
    username: username, 
    password: password 
    }, 
    success: function(data) { 
    if (data.okay) { 
     loggedIn = true; 
    } else { 
     $(".shake").effect("shake", {times:2, distance:3, direction:"right"}, 45); if (data == "OK"); 
    } 
    } 
}; 

ajax.cgi의 :

echo "Content-Type: application/json\n\n" 
$username = $_GET("username"); 
$password = $_GET("password"); 
if (authenticate($username, $password)) { 
    echo "{ \"okay\": true }"; 
} 
0

당신은 이것에 대한 AJAX를 사용합니다.

$('#submit').on('click', function() { 
    $.ajax({ 
     url: "your/auth/script.php", 
     type: "POST", 
     success: function(result) { 
      if(result !== 1) { 
       $(".shake").effect("shake", {times:2, distance:3, direction:"right"}, 45); 
      } 
     } 
    }); 
}); 
관련 문제