无法执行JS函数

Could not execute JS function

本文关键字:函数 JS 执行      更新时间:2023-09-26

我仍然在我的"mvc/social" php项目工作。现在我正试图确保用户输入的状态消息。我做了一个PHP和一个JavaScript函数,但是调用时js似乎不可见。

我已经尝试了相同的js文件与另一个'项目',我知道它正在工作。问题是我不知道怎么够到它!: O

视图文件位于(project root)/views/afterloginview.php

js文件位于(project root)/public/js/application.js

在afterloginview.php中,我得到了以下内容:

<html>
    <head>
        <script type="text/javascript" src ="public/js/application.js"> </script>
    </head>
    <body>
        <form id = "form_state" action="" method ="POST">
            <input type="text" name="stato"/>
            <input type="submit" value="Aggiorna Stato"onclick="ok_state();"/>
        </form>

同时进入application.js我有:

var NotAdmitted = /['|'+=<>()%'*]|(!=)|-{2}/; // 
function ok_state(){
    elem = document.forms[0]["stato"].value;
    if(elem == null || elem.length <= 1 || elem.length > 140){
        alert("Aggiornamento di lunghezza non consentita!Lo stato non verrà aggiornato");
        return false;
    }
    if(NotAdmitted.test(elem)==true){
        alert("Hai usato caratteri non consentiti,impossibile aggiornare!");
        return false;
    }
    else{
        return true;
    }
}

我已经试过../public/js/application.js了但它也不工作。

控制台给出一个错误:

Uncaught TypeError: Cannot read property 'value' of undefined。

如用户所述,代码正在工作!有什么问题吗?

在PHP中,您可以使用getcwd()函数(获取当前工作目录)来创建路径。(尽管MVC应该意味着你有一个更好的方式来管理你的路径)

视图文件位于(项目根目录)/views/afterloginview.php中Getcwd()将返回(项目根)/views/js文件位于(项目根目录)/public/js/application.js中我们要回到父文件夹,项目根目录。把这个放到你的视图中:

<script type="text/javascript" src ="<?php echo getcwd(); ?>../public/js/application.js"> </script>

或者你可以在模型中设置一个PHP变量,比如$rootfolder,然后在视图中管理它。享受吧!