2013-09-24 2 views
4

Я меняю javascript в своем проекте на jquery. Это первый раз, когда я использую JQuery и ожидаю, что я сделаю глупые ошибки. Я разместил простую функцию предупреждения JQ в файле .js, который выглядит ниже.Изменение javascript для jQuery первый раз Приложение Struts 1.3

$(document).ready(function(){ 
    $("#stt").change(function(){ 
    alert("hi"); 
    }); 
}); 

Поэтому цель состоит в том, чтобы бросить Сообщ предупреждение, когда значение элемента тд с идентификатором = «СТТ» изменяется.

<tr id="stttr"> 
<td id="stt"> <html:text property="stt" size="20" maxlength="20" style="height:12px; width: 180px;" /></td></tr> 

и это как im, ссылающийся на jquery между головными метками jsp.

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9/jquery.min.js"></script> 
<script src="javascript/SearchPanelJQ.js"></script> 
<script src="javascript/CalendarPopup.js"></script> 

Calendarpop.js это старый Javascript файл, который я не хочу, чтобы заменить (он прекрасно работает на всех браузерах). Теперь, когда я посещаю эту страницу в браузере с включенной отладкой скриптов в IE, я получаю следующую ошибку.

HTML1201: localhost is a website you've added to Compatibility View. 
ReportingTemplate.jsp 
SEC7115: :visited and :link styles can only differ by color. Some styles were not  applied to :visited. 
ReportingTemplate.jsp 
SCRIPT5007: The value of the property '$' is null or undefined, not a Function object 
SearchPanelJQ.js, line 1 character 1 

Последняя строка сообщает мне, что что-то не так с установкой. Можешь мне сказать?

Я установил плагин jsdt jquery и использую JQ v1.9. Проект - проект стоек.

Редактировать: 1) Он работает, когда функция JQ включена в jsp. он работает доцент, когда он находится в другом файле .js. 2) даже если я включаю http: в ссылку, он работает только тогда, когда функция document.ready находится в том же JSP, а не когда она находится в другом .js-файле. Это бьет цель, поскольку одни и те же проверки будут использоваться на нескольких страницах моего проекта.

+0

Ошибка, которую вы получаете, говорит, что вы не включили jquery правильно. Вы используете страницу со своего рабочего стола, а не на веб-сервере? –

+0

Я запускаю его на сервере tomcat и использую eclipse ide. – DJR

+0

Являются ли ваши скриптовые теги такими, какие у вас есть в вашем вопросе? если они есть, то ошибка, которую вы получаете, невозможна, если вы работаете с веб-сервером и имеете доступ к 'ajax.googleapis.com' –

ответ

1

для дальнейшего использования:

  • Run в Chrome (или любого браузера, как и другие пользователи уже указывали)

  • Щелкните правой кнопкой мыши> Inspect Element> Консоли

  • Чтение журналов ошибок (Консоль может предоставлять js, php и другие ошибки, чтобы помочь определить конкретные линии, где происходит сбой)

Ваш

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9/jquery.min.js"></script> 

должен быть

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9/jquery.min.js"></script> 

Причина, обеспечивается user2736012 является:

OP использует "протокол относительный" URL, который автоматически использует протокол, который был использован для извлечения страницы. В этом случае, если протокол равен file://home/User/Desktop/foo.html, относительный URL-адрес протокола становится file://ajax.googlapis..., что, конечно же, не сработает. Но он будет работать при получении страницы с помощью http, потому что тогда будет http://ajax.googleapis...

+0

Только потому, что OP, вероятно, загружается из 'file:'. В противном случае 'src =" // ajax.googleapis ... "' обычно нормально. – user2736012

+1

есть консоль во всех 5 основных браузерах в настоящее время. – Cthulhu

+2

Да, объяснение, почему это так, поможет OP не повторить ту же ошибку. – Archer

0

Ссылка на библиотеку верна, проверьте это here! посмотреть на этой линии

SCRIPT5007: The value of the property '$' is null or undefined, not a Function object 
SearchPanelJQ.js, line 1 character 1 

Что-то не так с этой библиотекой или конфликт произошел.

+0

работает, когда функция document.ready находится в заголовках jsp. но не тогда, когда он находится в другом файле .js. Значит, библиотека должна быть в порядке, не думайте? – DJR

0

Я нашел проблему. Я ссылаюсь на версию JQ 1.9, потому что я прочитал в учебнике, что он должен автоматически выбрать последнюю версию в серии 1.9. Он работает, если я меняю его на 1.9.0 или 1.9.1. Тем не менее, я все еще не понимаю, почему 1.9 не работал. он должен был выбрать самую последнюю версию 1.9. *.

Но, по крайней мере, делая это 1.9.1/0, он работает из файла .js.

Смежные вопросы