powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Не видит методов
7 сообщений из 7, страница 1 из 1
Не видит методов
    #35494982
Фотография oson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Происходят следующие ситуации.
При определенном расположении функций они не видны из html кода.
Например если есть две области
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
<html:xhtml/>
<script type="text/javascript">
 var x1;
 function a(val) {}
</script>
 
<script type="text/javascript">
  var x2; 
function b(val) {}
</script>
<html:form onsubmit...>
<table><tr><td> 
<div style="text-align: center;">
<input type="button"  onclick="b('sometext');"/></div>
</td></tr></table>
</html:form>




то вызов onclick="b('sometext') возвращает ошибку что такой функции нет.
И не видны для функции b(val) переменная var x1.
Также бывает что при добавлении какойто функции после например a() эта функция a() перестает быть видна.
Есть какие-то правила расположения этих функций на странице, можно ли делать несколько областей? Или это только методом тыка можно выяснить чего эта функция невидна.
Такое впечатление что Javascript сырой язык.
Есть какие-то правила
...
Рейтинг: 0 / 0
Не видит методов
    #35495267
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
osonТакое впечатление что Javascript сырой язык.
Просто сволочь...

Как вариант...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
<html>
<head>
<script type="text/javascript">
	var x1= 1 ;
	var x2= 2 ; 
	function a(val) {
	   alert(x1+', '+x2+', '+val)
	}
	function b(val) {
	   alert(x1+', '+x2+', '+val)
	}
</script>
</head>
<body>
<form>
<table>
	<tr>
	<td> 
		<div style="text-align: center;">
			<input type="button" value='Start A'  onclick="a('sometext');"/>
			<input type="button" value='Start B'  onclick="b('sometext');"/>
		</div>
	</td>
	</tr>
</table>
</form>
</body>
</html>
...
Рейтинг: 0 / 0
Не видит методов
    #35495667
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я как понгимаю это из Struts.
Покажите что получилось в браузере.
...
Рейтинг: 0 / 0
Не видит методов
    #35497814
Фотография oson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашел в чем причина.
Если приходит строка в которой есть апостроф или \n то пришедший код просто внутри функции Javascript переводится на другую строку. Ну в общем получается что вроде закрывающая скобка на следующей строке или лишняя кавычка.
Пробовал сделать это на Javascript при помощи string.replace - но получается что уже когда вызывается эта функция то возникает эта проблема.
То есть браузер видит чтото вроде
Код: plaintext
1.
2.
3.
4.
5.
<script ...>
  
 replace( 'it just example \n
 for you');
</script>
и говорит что нет закрывающей скобки.
Ну и есстественно не видит остальные функции потому что порядок нарушается.
Поэтому я в Java коде сразу удаляю знаки \n и заменяю кавычки на \'
до того как оно прийдет на страницу. Самим Javascriptom это трудно сделать.
...
Рейтинг: 0 / 0
Не видит методов
    #35497966
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обычный JavaScript допускает без проблем перевод строки \n
Видимо или JSP или Struts обрабатывает переводы строк до разбора текста.
ВОзможно, такое поведение касается только апострфов (одинарных кавычек) и с двойными кавычками все будет нормально
...
Рейтинг: 0 / 0
Не видит методов
    #35499427
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
жс не обрабатывает переводы строки, если они отрендерились как текст, а не как escape-последовательность :)
...
Рейтинг: 0 / 0
Не видит методов
    #35500160
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати есть одна недокументировнная фича. похожая на С# (если не ошибаюсь)

Код: plaintext
1.
2.
var str = " Такая строка допустима \<Нажать Enter>
... как ни странно"
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Не видит методов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]