Me cuesta averiguar exactamente cuál es el problema en mi llamada de función. Iv «e Intenté varias cosas, como definir mi llamada antes de que se use y colocar la etiqueta de referencia del script para jquery por encima de todo. Nada parece funcionar.

test = function() {}; test(); 

Mi código está a continuación:

<link rel="stylesheet" type="text/css" href="/sites/SPAPPS02/creditmemo/SiteAssets/Credit%20Memo.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script> <script type="text/javascript"> $(document).ready(function() { ExecuteOrDelayUntilScriptLoaded(OnLoad, "sp.js"); function OnLoad() { $("#calc").click(function() { test(); }); } }); </script> 

Mi función descansa en un archivo separado.

function test() { console.log("Success!"); } 

A continuación se muestra el mensaje de error completo:

Home.aspx:889 Uncaught ReferenceError: test is not defined at HTMLInputElement.<anonymous> (Home.aspx:889) at HTMLInputElement.dispatch (jquery.min.js:2) at HTMLInputElement.v.handle (jquery.min.js:2) 

Respuesta

Esto parece ser un problema de orden de ejecución. Se debe hacer referencia al archivo que contiene la función de prueba antes del JS en línea que llama a la función de prueba.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *