javascript - 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 13
alert(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());?>
解决方案
推荐阅读
- azure-devops - 在 Azure DevOps 拉取请求验证管道中以编程方式访问拉取请求更改?
- spring-data-cassandra - 如何在不重新启动应用程序的情况下刷新 cassandra 接触点?卡桑德拉驱动程序 4.4。网址刷新支持
- php - BSONArray 无法转换为字符串:MongoDB BSONDocument 到 PHP 中的有效 JSON?
- ruby-on-rails - 一次将关联回调附加到给定模型的所有关联
- unity3d - Untiy UI:文字在精灵上,在视口蒙版后面?
- python - 在不阻塞的情况下延迟对 HTTP 请求的响应
- node.js - 使用 docker-compose 运行 nodejs 不起作用,但可以使用 docker run 命令
- selenium - 我在第一行遇到的在线词法错误或解析错误,我想在示例中使用多个数据并结合场景大纲
- java - System.currentTimeMillis() 与 Timestamp.valueOf(LocalDateTime.now(UTC)).getTime()
- php - 如何自定义标签短代码以仅适用于一种产品