08.04.2015, 14:47
|
Интересующийся
|
|
Регистрация: 20.12.2014
Сообщений: 24
|
|
Вызов функции из другого файла
Есть индексный файл с разметкой. В нем есть форма. Подключаю файл с функцией, затем подключаю файл с вызовом этой функции. Консоль выдает ошибку, ругается, что функция не определена. Файлы подключены верно (по отдельности работают), порядок подключения тоже верный. Гугл говорит, что так работать должно. Заранее благодарю за ответы.
|
|
08.04.2015, 15:25
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,209
|
|
Сообщение от dmitriy94
|
Файлы подключены верно (по отдельности работают), порядок подключения тоже верный. Гугл говорит, что так работать должно.
|
Значит и работать должно!
|
|
08.04.2015, 17:55
|
Интересующийся
|
|
Регистрация: 20.12.2014
Сообщений: 24
|
|
Должно, однако не работает. Либо гугл нагло врет, либо я туплю, либо тут какая-то необъяснимая магия. есть 3 файла index.php, registration.js, data.js.
index.php:
<html>
<head>
<script language="JavaScript" type="text/javascript" src="js/jquery-1.11.2.js"></script>
<script language="JavaScript" type="text/javascript" src="js/data.js"></script>
<script language="JavaScript" type="text/javascript" src="js/registration.js"></script>
</head>
...
data.js:
function fp_submit(form, status, url, datatype)
{
тело функции
}
registration.js:
$(кнопка).click(function()
{
var form = значение;
var status = значение;
var url = значение;
var datatype = значение;
fp_submit(form, status, url, datatype);
});
Ругается на вызов функции fp_submit в файле registration.js
|
|
08.04.2015, 19:53
|
Аспирант
|
|
Регистрация: 04.04.2014
Сообщений: 58
|
|
Попробуй поставить js в конце фаила, перед закрывающим тегом body
|
|
09.04.2015, 08:30
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,209
|
|
Сообщение от dmitriy94
|
Либо гугл нагло врет, либо я туплю, либо тут какая-то необъяснимая магия
|
Ты поставил себя в один ряд с гигантской корпорацией и магией - это круто!
|
|
09.04.2015, 08:35
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,209
|
|
Сообщение от dmitriy94
|
Должно, однако не работает.
|
Бивас, тест! (с)
tmp.html
<!DOCTYPE html>
<html>
<head>
<script src='http://code.jquery.com/jquery-latest.js'></script>
<script src='tmp.js'></script>
<script src='tmp1.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
</script>
</head>
<body>
<button>Test</button>
</body>
</html>
tmp.js
function test(){
alert('Ok');
};
tmp1.js
$(function(){
$('button').click(function(){
test();
});
});
Все прекрасно работает!
|
|
10.04.2015, 08:11
|
Интересующийся
|
|
Регистрация: 20.12.2014
Сообщений: 24
|
|
Спасибо, разобрался. Есть еще такой вопрос, хотя с ним, скорее всего, следовало бы в раздел ajax идти. Но чтобы лишний раз не создавать новую тему, спрошу здесь. Есть у меня функция, который отправляет данные из формы ajax-ом. Затем я вызываю эту функцию и подставляю нужные параметры при нажатии на кнопку. Мне изначально неизвестно, какие типы данных будут выводить здесь, каким методом это будет делаться, и будет ли вообще что-либо выводиться. Функцию там вызвать не получится. И вот вопрос в том, как это реализовать. Спасибо.
|
|
10.04.2015, 08:59
|
Интересующийся
|
|
Регистрация: 20.12.2014
Сообщений: 24
|
|
Я полагаю, придется использовать прототипное наследование?
|
|
10.04.2015, 09:07
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,209
|
|
Сообщение от dmitriy94
|
И вот вопрос в том, как это реализовать.
|
Задачи типа "пойди туда, не зная куда и принеси то, не зная что" делаются только за деньги и при том за почасовую оплату...
|
|
10.04.2015, 12:20
|
Интересующийся
|
|
Регистрация: 20.12.2014
Сообщений: 24
|
|
Сообщение от ksa
|
Задачи типа "пойди туда, не зная куда и принеси то, не зная что" делаются только за деньги и при том за почасовую оплату...
|
Задача вполне себе конкретная. Есть отдельная функция отправки данных, например "submit", внутри нее есть ajax-запрос, в запросе есть функция success. По нажатию кнопки должна создаваться еще одна функция, например "result", затем вызывается функция "submit", в которой вызывается функция "result". Я понимаю, что функциями это сделать нереально. Поэтому возникает вопрос, можно ли вообще это сделать? Я думаю, что если и можно, то только с помощью наследования. Я не прошу написать мне готовый код. Хотя бы натолкнуть на мысль.
|
|
|
|