JS脚本功能无法在php中运行

时间:2015-01-09 08:57:17

标签: javascript php function

这是我的JS功能:

function checkError() {
            var field = 'error';
            var url = window.location.href;
            document.write('test');
            window.alert('please work');
            if(url.indexOf('?' + field + '=') != -1)
                document.write('The username and password do not match. Do not use your full email.');
return true;            
            }

然后在我的身体段落中我有:

<?php echo '<script> checkError();</script>' ?>

调用它没有任何错误。但该功能在我的页面上没有任何作用。有什么想法吗?我已经尝试将JS脚本放在页面和JS文件中,并正确地调用它来包含它。

完整脚本:

<html>
    <head>
        <meta charset="UTF-8">
        <title>Secure Login</title>
        <script type="text/JavaScript" src="js/functions.js"></script>

        <link href="stylesheets/mainStyle.css" rel="stylesheet" type="text/css">
        <link href="stylesheets/formStyle.css" rel="stylesheet" type="text/css">
    </head>

    <body>

        <?php include('header.php'); ?>

        <div id="mainContent">
          <h1>Member Login</h1>
          <div id="mainParaText">
          <?php echo '<script> checkError();</script>' ?>
        </div>

     </body>
</html>

TURNS OUT JS功能未定义。呃,想不通为什么(以为我一会儿就解决了这个问题大声笑)

2 个答案:

答案 0 :(得分:0)

  

尝试这样:

 <html>
  <head>
    <meta charset="UTF-8">
    <title>Secure Login</title>
    <script type="text/JavaScript" src="js/functions.js"></script>

    <link href="stylesheets/mainStyle.css" rel="stylesheet" type="text/css">
    <link href="stylesheets/formStyle.css" rel="stylesheet" type="text/css">
    <script type="text/javascript">
        function checkError(){
           var field = 'error';
        var url = window.location.href;
        document.write('test');
        window.alert('please work');
        if(url.indexOf('?' + field + '=') != -1)
            document.write('The username and password do not match. Do not use your full email.');
        return true;   
        }

       <?php
           echo "checkError();";
       ?>
   </script>
</head>

 <body>

      <?php include('header.php'); ?>

     <div id="mainContent">
      <h1>Member Login</h1>
      <div id="mainParaText">
      <?php echo '<script> checkError();</script>' ?>
    </div>

 </body>
 </html>

答案 1 :(得分:-1)

JS是客户端,PHP是服务器端。

这意味着PHP代码中的所有内容都将在服务器上处理,然后“回显”到您的浏览器,在那里您会收到未定义的错误。

调试时,您应该首先检查浏览器中的源代码,以便准确了解服务器的回应。

我猜了一下,但尝试使用双引号而不是单引号。

与问题无关...... 您正在使用JS检查用户名和密码?你到底怎么做?用ajax回调服务器?如果你用JS检查,那意味着密码应该在某个地方的源代码中并且不安全。用户名/通过验证应始终在服务器端进行(使用ajax请求或通常的提交表单)。