使用PHP(echo)触发jQuery事件?

时间:2012-08-04 23:20:13

标签: php jquery triggers effect

我一直试图通过PHP触发效果。基本上,当用户输入无效密码时,我想让提交按钮动摇。为此,我需要通过PHP,并尝试验证我的数据库中的用户,如果失败,以下代码应该触发jQuery效果。

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

我可以看出为什么这可能不起作用,但我没有看到另一种方法。

2 个答案:

答案 0 :(得分: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 }";
}

答案 1 :(得分: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);
            }
        }
    });
});