首页 > 解决方案 > Javascript是否可以使用file.js和脚本

问题描述

n 我正在尝试使用 id3.js 文件并在脚本中调用函数,但它不起作用。

这是 PHP 文件中的 html 部分:

<script type="text/javascript" >
    function getValue (dir) {
        // var ret = <?php echo getDirs();?>
        var ret = {0: 'dir', 1: dir};
        return ret;
    };
</script>

id3.js 文件:

$(document).ready(function () {
    $('.dKeyT').on('click', function () {
        var tag = $(this).attr('tagName');
        alert("click "+tag);
    });

    $('#dir').on('input', function() {
        var inp = $(this).val();
        var n = inp.lastIndexOf('/');

        if (n !== -1) {
            var dir = inp.substring(0, n+1);
            alert(n + " dir: " + dir);

            var files = getValue(dir);
            alert(files);

            for (var file in files) {
                alert(files[file]);
            }
        }
    });
});

有可能做这样的事情吗?

安慰:

未捕获的 ReferenceError:getValue 未定义 https://www.country-radio.eu/id3.js:16 jQuery 8 https://www.country-radio.eu/id3.js:7 jQuery 13

getDirs应提供目录列表,但目前已被注释掉

id3.js 7$('#dir').on('input', function(){

id.js 13alert(n + " dir: " + dir);

编辑2

我尝试了不同的想法,突然我收到错误消息 ret is not defined。所以我尝试var ret = [];在 ret 变量的填充前做一个。它的工作原理,令人难以置信!Hier 我的脚本标签的最终代码:

<script type="text/javascript" >
    function getValue(dir){
    var ret = [];
    ret = <?php echo json_encode(getDirs());?>
    return ret;
    };
</script> 

还有 php 函数 getDirs

function getDirs(){
    error_log("GetDirs called");
    $ret = array();
    $ret[] = 'File1';
    $ret[] = 'File2';
    return $ret;
}

感谢您的支持!

顺便说一句,从 JS 调用 php 函数只有在 sript 标签之间而不是在 x.js 文件中时才有效。ret = <?php echo json_encode(getDirs());?>

标签: javascripthtml

解决方案


推荐阅读