Не могу загрузить простую функцию - PullRequest
0 голосов
/ 30 августа 2011

Вот мой код

<script type="text/javascript" href="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript" href="js/js.js"></script>
...
<input type="text" name="city" onkeyup="loadStation(this.value);"/>
...

и файл js.js

//Load Stations
function loadStation(stationCity){
  alert(stationCity);
}

Когда я пытаюсь вызвать loadStation onkeyup, ничего не происходит. Путь js / js.js в порядке, так как в исходном коде я могу загрузить его.

Что может быть не так?

EDIT

Я упал очень глупо .... вместо href = "" это должен был быть src = "". Самое смешное, что даже вы, ребята, этого не заметили: P

Спасибо

Ответы [ 2 ]

4 голосов
/ 30 августа 2011
Вы можете ошибаться насчет `js / js.js` Я бы предложил использовать Firebug и убедиться, что вы не получаете ошибку 404 из вашего файла js. Возможно, вы хотели использовать относительную корневую ссылку на файл js: `/ js / js.js`, чтобы у вас не было проблем с подкаталогами.

Я часто исповедовал красоту HTML CSS и JavaScript в качестве шаблона MVC . Поэтому я не буду вдаваться в подробности. Вы должны хранить HTML в .html файлах, CSS в .css файлах и JavaScript в .js файлах

Использование встроенных атрибутов событий javascript нарушает красивый шаблон MVC, который я часто описываю, поэтому гораздо лучше прикрепить события в самом скрипте:

//wrap this in a document.ready or window.onload event callback
//-or-
//place the script *after* the input element has been added to the dom
var input;
//replace with whatever selector 
input = document.getElementsByTagName('input')[0];works
input.onkeyup = function(){ loadStation(this.value) };

...more code...

function loadStation(val)
{
  alert(val);
}

Fiddle

Еще пара вопросов отладки: * Вы локально тестируете плоский html & js файл? * Вы загружаете плоские файлы на сервер? * Можете ли вы опубликовать URL-адрес, где находится контент?

Вы используете href вместо src в элементе script.

0 голосов
/ 30 августа 2011

попробуйте добавить onkeyup в файл js следующим образом:

$('body').ready(function(){
     $('#idOfInput').onkeyup(function(){
         loadStation(this.value)
     });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...