Я новичок в JS и JQuery. Есть ли способ вызвать функцию из одного файла в другом, как в Ruby?
* 1003 Т.е. *
global_validation.js
$(document).ready(function() {
var form = $('#vr-managed-form, #userRegistrationForm');
if (form.length > 0) {
var submit = form.find('input[type="submit"]');
submit.click(function (evt) {
evt.preventDefault();
var invalidInput = $('input:invalid');
if (invalidInput.length === 0) {
form.submit();
} else {
invalidInput.addClass('invalid');
validateRadios();
}
});
function validateRadios() {
var radio = $('input[type=radio]');
var radioInvalid = $('input[type=radio]:invalid');
var radioMsg = $('.radio-invalid-msg')
if (radio) {
if (radioInvalid.length > 0) {
radioMsg.addClass('invalid');
}
radio.click(function () {
if (radio.is(':checked')) {
radio.removeClass('invalid');
radioMsg.removeClass('invalid');
} else if (radio.is(':not(:checked)')) {
radio.addClass('invalid');
radioMsg.addClass('invalid');
}
});
}
}
});
И я хочу использовать этот validateRadios()
в другом файле. Если я упаковываю весь файл в новую функцию, как это:
function validateManager() {
$(document).ready(function() {
var form = $('#vr-managed-form, #userRegistrationForm');
// and all logic from file global_validation.js
}
И когда я пытаюсь просто сослаться на это в другом файле (как показано ниже), это не сработает.
create.js
$(document).ready(function () {
var form = $('#userRegistrationForm');
var submit = form.find('input[type="submit"]');
submit.click(function(evt) {
evt.preventDefault();
$("#user-name").text(firstName + " " + lastName);
if (invalidInput.length === 0) {
form.submit();
} else {
invalidInput.addClass('invalid');
validateManager();
}
});