在textbox的onBlur事件上执行JavaScript函数

时间:2012-05-20 10:03:40

标签: php javascript

我写了以下内容:

function loginName(txtLogin){
    var l = document.getElementById('txtLogin').value;
    <?php
        $query = sprintf("Select * from register where LoginName='%s'",
                        mysql_real_escape_string(l));

        //$query =  "Select * from register where UserName=$Username and     Pwd=$Password";
        $result = mysql_query($query);
        if($result)
        {
            $num_rows =  mysql_num_rows($result);
        }
    ?>
    if($num_rows < 1)
    {
        return true;
    }
    else
    {
        return false;
    }
}

并在onBlur事件上调用该函数,如下所示:

 $('#txtLogin').blur(function() {
      if(loginName('txtLogin'))
      {
          //alert('Email is valid');
      }
      else
      {
          alert('Type another login name.');
      }
   });

但是当我输入与database.please帮助中存在的相同的登录名时,它没有显示错误。

3 个答案:

答案 0 :(得分:0)

你不能在<script>标签内执行PHP,因为它只在客户端执行,而PHP是服务器端语言。而不是这个,你需要使用AJAX来检查用户名的有效性。顺便说一句,您直接从某处复制并粘贴了代码,因为return不是方法之外的有效关键字。如果您熟悉jQuery(javascript库),我建议将其用于AJAX部分。

答案 1 :(得分:0)

PHP代码在解析页面时运行。如果您希望在执行JS函数时运行它,那么您需要在外部文件中编写PHP代码并通过AJAX调用它。

答案 2 :(得分:0)

PHP在服务器上运行并输出一些文本。

然后,浏览器将该文本解释为HTML和JavaScript。

当你调用JavaScript函数时,其中的任何PHP都已经运行了。你无法将变量从JavaScript传递给PHP。

您必须发出新的HTTP请求(例如,通过提交表单或使用Ajax)。