如何在单击按钮时链接外部 javascript 文件

IT技术 javascript
2021-03-02 19:24:48

我想在外部 JS 文件中调用 javascript 函数,使用onClick该文件中按钮上函数,form.tmpl.htm.

  <button type="button" value="Submit" onClick="Call the external js file" >

javascript 文件位于Public/Scripts/filename.js. 我在template/form.tmpl.html. 根文件夹包含Publictemplate文件夹。

6个回答

我必须同意上面的评论,你不能调用一个文件,但你可以像这样加载一个 JS 文件,我不确定它是否能回答你的问题,但它可能会有所帮助......哦,我用过在我的例子中是一个链接而不是一个按钮......

<a href='linkhref.html' id='mylink'>click me</a>

<script type="text/javascript">

var myLink = document.getElementById('mylink');

myLink.onclick = function(){

    var script = document.createElement("script");
    script.type = "text/javascript";
    script.src = "Public/Scripts/filename.js."; 
    document.getElementsByTagName("head")[0].appendChild(script);
    return false;

}


</script>
忽略我的问题。我没有意识到这是在标记中调用的。感谢您的答复!
2021-04-22 19:24:48
你在哪里调用js文件中的函数?
2021-05-10 19:24:48
在哪里?你的意思是怎么样?如果脚本已加载,您可以正常调用已加载脚本中的函数。或许您还想再问一个问题?
2021-05-10 19:24:48

如果您希望您的按钮调用您在 filename.js 中编写的例程,您必须编辑 filename.js 以便您要运行的代码是一个函数体因为您可以调用函数,而不是源文件。(源文件没有入口点

如果你的 filename.js 的当前内容是:

alert('Hello world');

您必须将其更改为:

function functionName(){
	alert('Hello world');
}

然后你必须在你的 html 页面的标题中加载filename.js :

<head>
	<script type="text/javascript" src="Public/Scripts/filename.js"></script>
</head>

以便您可以通过按钮调用filename.js 中包含函数

<button onclick="functionName()">Call the function</button>

我做了一个小例子。一个简单的 HTML 页面要求用户输入她的名字,当她点击按钮时,Public/Scripts/filename.js 中的函数被调用,将插入的字符串作为参数传递,这样一个弹出窗口就会说“你好,<insertedName>! ”。

这是调用 HTML 页面:

<html>

	<head>
		<script type="text/javascript" src="Public/Scripts/filename.js"></script>
	</head>

	<body>
		What's your name? <input  id="insertedName" />
		<button onclick="functionName(insertedName.value)">Say hello</button>
	</body>

</html>

这里是 Public/Scripts/filename.js

function functionName( s ){
	alert('Hello, ' + s + '!');
}

这对我有帮助。我能够在将其加载到主体中后调用该函数,因此毕竟不必将其加载到头部中。
2021-05-06 19:24:48
谢谢,这就是我想做的。从正文 html 中的驱动程序 Onclick 行调用外部 .js 文件。有点迂回,但它的工作原理。
2021-05-07 19:24:48
抱歉,我认为这相当令人困惑。代码没有按预期运行,当有多个文件时使用jsfiddle.net或其他东西。此外,我相信它没有回答答案。
2021-05-19 19:24:48

通过先加载.js文件然后通过 onclick 调用函数,编码更少,发生的事情也很明显。我们将调用 JS 文件zipcodehelp.js

HTML:

<!DOCTYPE html>
<html>
<head>
    <title>Button to call JS function.</title>
</head>
<body>
    <h1>Use Button to execute function in '.js' file.</h1>
    <script type="text/javascript" src="zipcodehelp.js"></script>
    <button onclick="ZipcodeHelp();">Get Zip Help!</button>
</body>
</html>

内容zipcodehelp.js是:

function ZipcodeHelp() {
  alert("If Zipcode is missing in list at left, do: \n\n\
    1. Enter any zipcode and click Create Client. \n\
    2. Goto Zipcodes and create new zip code. \n\
    3. Edit this new client from the client list.\n\
    4. Select the new zipcode." );
}

希望有帮助!干杯!

——肯

这完全有可能,我根据 Mike Sav 的例子做了类似的事情。那是 html 页面,应该是同一文件夹中的外部 test.js 文件

示例.html:

<html>
<button type="button" value="Submit" onclick="myclick()" >
Click here~!
<div id='mylink'></div>
</button>
<script type="text/javascript">
function myclick(){
    var myLink = document.getElementById('mylink');
    myLink.onclick = function(){
            var script = document.createElement("script");
            script.type = "text/javascript";
            script.src = "./test.js"; 
            document.getElementsByTagName("head")[0].appendChild(script);
            return false;
    }
    document.getElementById('mylink').click();
}
</script>
</html>

测试.js:

alert('hello world')

您可以简单地执行以下操作。

假设您myscript.js在根文件夹中命名了 JavaScript 文件在 html 文件的 head 标签中添加对 javascript 源文件的引用。

<script src="~/myscript.js"></script>

JS文件:( myscript.js)

function awesomeClick(){
  alert('awesome click triggered');
}

HTML

<button type="button" id="jstrigger" onclick="javascript:awesomeClick();">Submit</button>
我不认为你需要type="button",我看不出有什么用id="jstrigger"
2021-05-10 19:24:48