Solución:
Tengo que estar de acuerdo con los comentarios anteriores, que no puede llamar a un archivo, pero podría cargar un archivo JS como este, no estoy seguro de si responde a su pregunta, pero puede ayudar … oh, y he usado un enlace en lugar de un botón en mi ejemplo …
<a href="https://foroayuda.es/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>
Si desea que su botón llame a la rutina que ha escrito en filename.js, debe editar filename.js para que el código que desea ejecutar sea el cuerpo de un función. Porque puedes llamar a una función, no un archivo fuente. (Un archivo fuente no tiene punto de entrada)
Si el contenido actual de su filename.js es:
alert('Hello world');
tienes que cambiarlo a:
function functionName(){
alert('Hello world');
}
Entonces tienes que carga filename.js en el encabezado de su página html junto a la línea:
<head>
<script type="text/javascript" src="https://foroayuda.es/Public/Scripts/filename.js"></script>
</head>
Para que puedas llama los función contenido en filename.js por su botón:
<button onclick="functionName()">Call the function</button>
He hecho un pequeño ejemplo práctico. Una página HTML simple le pide al usuario que ingrese su nombre, y cuando hace clic en el botón, se llama a la función dentro de Public / Scripts / filename.js pasando la cadena insertada como parámetro para que una ventana emergente diga “Hola,
Aquí está la página HTML de la llamada:
<html>
<head>
<script type="text/javascript" src="https://foroayuda.es/Public/Scripts/filename.js"></script>
</head>
<body>
What's your name? <input id="insertedName" />
<button onclick="functionName(insertedName.value)">Say hello</button>
</body>
</html>
Y aquí está Public / Scripts / filename.js
function functionName( s ){
alert('Hello, ' + s + '!');
}
Al cargar el .js
file primero y luego llamando a la función a través de onclick, hay menos codificación y es bastante obvio lo que está sucediendo. Llamaremos al archivo 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="https://foroayuda.es/zipcodehelp.js"></script>
<button onclick="ZipcodeHelp();">Get Zip Help!</button>
</body>
</html>
Y el contenido de zipcodehelp.js
es :
function ZipcodeHelp() {
alert("If Zipcode is missing in list at left, do: nn
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." );
}
¡Espero que ayude! ¡Salud!
-Conocido