Trudno mi jest ustalić, na czym dokładnie polega problem w wywołaniu funkcji. Iv „e próbowałem wielu rzeczy, takich jak zdefiniowanie mojego wywołania, zanim zostanie ono użyte, i umieszczenie ponad wszystko tagu odwołania skryptu dla jquery. Wydaje się, że nic nie działa.

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

Mój kod jest poniżej:

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

Moja funkcja spoczywa w osobnym pliku.

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

Pełny komunikat o błędzie znajduje się poniżej:

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) 

Odpowiedź

Wygląda na to, że problem dotyczy kolejności wykonywania. Do pliku zawierającego funkcję testową należy się odwołać przed wbudowanym kodem JS, który wywołuje funkcję testową.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *