Es fällt mir schwer, genau herauszufinden, was das Problem in meinem Funktionsaufruf ist. Iv „e Ich habe eine Reihe von Dingen ausprobiert, z. B. das Definieren meines Aufrufs, bevor er verwendet wird, und das Platzieren des Skriptreferenz-Tags für jquery über allem anderen. Nichts scheint zu funktionieren.

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

Mein Code ist unten:

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

Meine Funktion ruht in einer separaten Datei.

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

Die vollständige Fehlermeldung lautet unten:

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) 

Antwort

Dies scheint ein Problem mit der Ausführungsreihenfolge zu sein. Die Datei mit der Testfunktion muss vor dem Inline-JS referenziert werden, der die Testfunktion aufruft.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.