Как я могу предотвратить выполнение этой функции jQuery при каждой загрузке страницы?
Я верю, что у меня есть решение моей проблемы, но я хочу быть уверенным. Вот что у меня есть:
<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>
В настоящее времяonSubmit
ссылки на функцию jQuery - это внешний файл jQueryCalls.js. Это функция:
$(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");
};
});
Каждый раз, когда страница загружается, эта функция выполняется - очевидно, это создает проблему, так как я отключаю вводы. Я предполагаю, что я могу решить проблему с помощью чего-то вроде этого:
$(document).ready(function login() {
$('.login-form').submit(function() {
var formData = $(this).serialize();
.post('whatever', formData,...
Мне любопытно, есть ли у кого-нибудь понимание этого и почему оно выполняется при каждой загрузке страницы? В частности, мне нужно изменить атрибут действия формы, различные реализации наonSubmit
, и т.д? Я предполагаю, что браузер просто видит файл и выполняет содержащиеся в нем функции. Кроме того, я получаю ошибку перекрестного происхождения в консоли Chrome. Лиphp
файл должен находиться в том же каталоге, что и функция jQuery? Любой вклад приветствуется.