Faccio fatica a capire esattamente quale sia il problema nella mia chiamata di funzione. Iv “e ho provato una serie di cose come definire la mia chiamata prima che venga utilizzata e posizionare il tag di riferimento dello script per jquery sopra ogni altra cosa. Niente sembra funzionare.

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

Il mio codice è di seguito:

<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> 

La mia funzione riposa in un file separato.

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

Di seguito è riportato il messaggio di errore 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) 

Risposta

Questo sembra essere un problema di ordine di esecuzione. Il file contenente la funzione di test deve essere referenziato prima del JS inline che sta chiamando la funzione di test.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *