从外部javascript文件调用HTML中的函数
calling functions in html from external javascript file
这是一个简单的实用,但我不知道我做错了什么。
我有以下代码在我的外部javascript文件:
function myname(){
document.write("Monique");
}
function welcomeW(name){
document.write("Welcome " + name + "!");
}
function welcomeR(name){
return "Welcome " name "!";
}
我添加了这个<script>
标签链接到我的html文件:
<script src="script.js" type="text/javascript"></script>
我试着在html中调用函数:
<script> myname(); </script>
<script> welcomeW(Monique); </script>
<script> welcomeR(Monique); </script>
当我在html中编写函数时,它工作了,但在外部文件中什么也没有发生。
Monique,在你的代码中只有一个问题,请使用单引号(即"Monique")或双引号("Monique")当你传递参数时,我觉得你正在得到"Uncaught ReferenceError: Monique is not defined"错误消息。
<script> myname(); </script>
<script> welcomeW("Monique"); </script>
<script> welcomeR("Monique"); </script>
或者用这个
<script> myname(); </script>
<script> welcomeW('Monique'); </script>
<script> welcomeR('Monique'); </script>
如果一个<script>
有一个src
,那么元素的文本内容将不会作为JS执行(尽管它会出现在DOM中)。
你需要使用多个脚本元素
- 一个
<script>
加载外部脚本 - 一个
<script>
来保存您的内联代码(与调用函数in外部脚本)
您可能将<script src="<your js file>" type="text/javascript"></script>
放在html文件中的错误位置。试着把它放在<head></head>
中或在body结束标签</body>
之前。
另一个常见的错误是在<script src="<your js file>" type="text/javascript"></script>
中尝试输入类似的位置,例如:如果您的index.js文件与index.html文件在同一文件夹中,则<script src="./index.js" type="text/javascript"></script>
。
希望有帮助!
从你所描述的,你正在调用你的函数,并在Html中正确链接js文件。只有一些事情会导致错误。
-
welcome函数有一点语法错误。您可能会遇到Uncaught SyntaxError: Unexpected identifier 'name'和* Uncaught ReferenceError: myname is not defined"。你需要有&;+&;在字符串和welcomeR返回语句的名称之间进行连接,以解决此错误。使用console.log()语句检查js文件是否按预期运行。
-
当你调用html文件中的函数时,你应该有一个未捕获的语法错误,其中没有定义Monique。您只需要更改
中的welcomeW和welcomeR函数<script> myname(); </script> <script> welcomeW(Monique); </script> <script> welcomeR(Monique); </script>
<script> myname(); </script>
<script> welcomeW("Monique"); </script>
<script> welcomeR("Monique"); </script>
所以你在传递字符串。
这样,您应该能够得到"MoniqueWelcome Monique!"作为您的输出。
最后一个函数welcomeR没有将任何内容输出到输出文件中,因为它返回的是str,并且没有更改外部文件的内容。如果您希望将它也输出到文件中,请写入
welcomeR("Monique")
document.write(welcomeR("Monique"));
您忘记了返回处的+。你可以在脚本中调用这些函数。如果你链接正确,那么它应该工作。
如果你不知道。Return不打印/写入任何内容。它只是返回。如果你想写,你只需要这样做。
var welcomeR = return "Welcome " + name + "!"; and document.write(welcomeR);
<script>
function myname(){
document.write("Monique");
}
function welcomeW(name){
document.write("<br/>" +"Welcome " + name + "!" + "<br/>");
}
function welcomeR(name){
return "Welcome " + name + "!";
}
myname();
welcomeW("Monique");
welcomeR("Monique");
</script>
1-纠正一些语法错误。
2-当你链接到javascript文件,文档网不能看到它的功能,直到它加载,所以脚本标签在你的页面预期文件已加载
你可以这样做来解决问题
首先添加"javascript链接文件属性
<script src="script.js" defer type="text/javascript"></script>
那么你可以在你的HTML页面
中写这段代码document.onreadystatechange = () => {
if (document.readyState === "complete") {
myname();
welcomeW("Monique");
welcomeR("Monique");
}
请确保将脚本函数调用放在脚本src标签之后。
- HTML表单提交时未执行外部函数
- 如何将输入(type=text)从html表单传递到javascript函数
- 从html创建一个指令,该指令按类名应用函数
- 将JavaScript函数与HTML分离
- 使用html表单中的参数调用JavaScript函数
- 从HTML调用typescript文件中的函数
- 如果使用javascript函数屏幕太小,我该如何更改HTML文件的背景色
- 从Chrome扩展名中的popup.html文件在background.js文件中运行一个函数
- 如何在HTML元素上创建函数,而不是将元素作为参数传递
- php函数的ajax html$_POST值返回null
- 函数jquery.html()不提供数据属性集值
- HTML 按钮点击函数无法使用 jQuery 变量作为参数
- 从index.html调用函数,该函数无限循环
- HTML如何根据javascript函数的返回值限制文本输入
- 如何使用Javascript/Jquery/HTML5函数将HTML页面捕获为图像
- 将 HTML 添加到 Javascript IF 函数
- 在函数 HTML 中运行 getelementbyid
- 如何在 onclick 函数 HTML 中传递字符串
- jQuery/MVC3函数html onclick只工作一次
- 每次点击调用函数(HTML包括帧)