2012-05-20 160 views
0

我写如下: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帮助中存在的那样。

+1

太糟糕了,你不能将服务器端与客户端混合在一起......你必须拆分该代码 –

回答

0

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

0

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

0

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

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

当您调用JavaScript函数时,其中的任何PHP都将已经运行。你不能像这样将一个变量从JavaScript传递给PHP。

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