Wie kann ich verhindern, dass diese jQuery-Funktion bei jedem Laden einer Seite ausgeführt wird?

Ich glaube, ich habe eine Lösung für mein Problem, aber ich möchte sicher sein. Das habe ich:

<html>...
<body>...

 <script type="text/javascript" src="../JS/jquery.js"></script>
 <script type="text/javascript" src="../JS/respond.min.js"></script>
 <script type="text/javascript" src="../JS/jquery.min.js"></script>
 <script type="text/javascript" src="../JS/validate.js"></script>
 <script type="text/javascript" src="../JS/jQueryCalls.js"></script>
 ...

<form name="login-form" class="login-form" method="post" onSubmit="login()">

  <div class="header">
    <h1>Sign In</h1>
  </div>

  <div class="content">
    <input type="hidden" name="siteToken" value="$token" />
    <input id="username" name="username" type="text" class="input username"  placeholder="Username" required="required" />

  <div class="user-icon"></div>
    <input id="password" name="password" type="password" class="input password" placeholder="Password" required="required" />

  <div class="pass-icon"></div>

  </div>

  <div class="footer">
    <input type="submit" name="submit" value="Login" class="button" />
  </div>
</form>

JetztonSubmit Links zu einer jQuery-Funktion sind eine externe Datei, jQueryCalls.js. Dies ist die Funktion:

$(function login() {
    var formData = $('#login-form').serialize(); //Grab all submission data from login form
    $("input").prop("disabled", true); //Disable inputs for the duration of the post

    var request = $.post('E:\Additional Programs\xampp\htdocs\Vista_Ridge_Territory_System\PHP\Scripts\VRC_LoginProcess.php', formData, loginMessage);

    //Handle server-side response
    function loginMessage(data) {
        $('.header').append("nada");
    };

});

Jedes Mal, wenn die Seite geladen wird, wird diese Funktion ausgeführt. Dies ist offensichtlich ein Problem, da ich Eingaben deaktiviere. Ich gehe davon aus, dass ich das Problem folgendermaßen beheben kann:

$(document).ready(function login() {
  $('.login-form').submit(function() {
   var formData = $(this).serialize();
   .post('whatever', formData,...

Ich bin gespannt, ob jemand etwas darüber weiß und warum es bei jedem Seitenaufruf ausgeführt wird. Insbesondere muss ich das Formularaktionsattribut ändern, um eine andere Implementierung zu ermöglichenonSubmit, usw? Ich gehe davon aus, dass der Browser die Datei lediglich sieht und die enthaltenen Funktionen ausführt. Außerdem erhalte ich einen Cross-Origin-Fehler in der Chrome-Konsole. Tut dasphp Datei muss sich im selben Verzeichnis wie die jQuery-Funktion befinden? Jede Eingabe wird geschätzt.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage