Перенос js кода в отдельный файл

на странице есть форма с регистрацией, js скрипт:

 <script>
function Send() {
    var pass = document.forms[0].password.value;
    var login = document.forms[0].login.value;
    var email = document.forms[0].email.value;
    var check = document.getElementById('checkbox');
    var referral = document.forms[0].referral.value;
    if (!(document.getElementById('login').checkValidity())) {
        $('.alert').css('background', 'red');
        Notification('Incorrect Login!');
        return false
    }
    if (!(document.getElementById('email').checkValidity())) {
        $('.alert').css('background', 'red');
        Notification('Incorrect E-mail!');
        return false
    }
    if (!(document.getElementById('password').checkValidity())) {
        $('.alert').css('background', 'red');
        Notification('Your password must be between 6 and 20 characters. Your password must contain at least one uppercase and one lowercase letter. Your password must contain at least one number');
        return false
    }
    if (check.checked == false) {
        $('.alert').css('background', 'red');
        Notification('You did not agree to the terms!');

    }

$('.login__form').submit(function(e) {
    e.preventDefault();
    $.ajax({
        url: 'Registration.php',
      dataType: "json",
        type: 'POST',
        data: {
            login: login,
            password: pass,
            email: email,
            referral: referral
        },
        success: function(result) {
            if (result.color=='green'){
                        Notification(result.message);
                    }
                    else{
                        $('.alert').css('background',result.color);
                        Notification(result.message);
                        return false
                    }
        },
        error: function(jqXhr, textStatus, errorMessage) {
              $('.alert').css('background','red');
              Notification('Error!');
        }

    });
});
}




function Notification(Text) {
    document.getElementById("alert").innerHTML = Text;
    $('.alert').animate({
        bottom: '10px',
        opacity: '1'
    }, 1000, function() {
        var alertHide = setInterval(function() {
            $('.alert').animate({
                bottom: '-100%',
                opacity: '0'
            }, 10000);
            clearInterval(alertHide);
        }, 10000);
    });
}
      </script>

Функция send() висит на кнопке "зарегистрироваться". Можно ли как-то перенести(частично/весь) код js в отдельный файл?


Ответы (1 шт):

Автор решения: Leonid

Конечно, можно - ничего не изменится. С одной оговоркой, в отдельных файлах объявления функций не поднимаются. Поэтому все библиотеки надо объявлять первыми.

Содержимое тега помещаете в отдельный файл с расширением .js. (без самого <><>). Если назовете файл some.js и разместите в той же папке, то подключать так:

<script src="some.js"></script>

На странице принято размещать либо в <head> либо в конце <body>. Однако, соблюдайте последовательность подключений отдельных файлов, библиотек.

→ Ссылка