Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Ткните носом. Как отдалить JavaScript / 9 сообщений из 9, страница 1 из 1
20.03.2006, 21:11
    #33613101
Alex Tyutyunik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ткните носом. Как отдалить JavaScript
Где что в VS нужно нажать(включить) чтобы я мог отлаживать свой JavaScript ?
Спасибо
...
Рейтинг: 0 / 0
20.03.2006, 21:44
    #33613142
Alex Tyutyunik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ткните носом. Как отдалить JavaScript
Или помогите пожалуста с javascript'ом
а то мне выдает ошибку object expected, а я даже не могу посмотреть в чем же дело.

Мне надо для полей текстовых, вставить запятые как символы разделители денежные, типа 25,000,000.

на фокусе надо запятые убрать, при потере фокуса запятые вернуть.
я вот написал пару функций

Код: 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.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
function money_focus(objid)
		{
			var obj=document.getElementById(objid)
			
			var v=obj.value
			var ec= 0 
			var ec_value = ""
			while(ec<v.length)
			{
				if(v.charAt(ec) >= '0' && v.charAt(ec) <='9') ec_value += v[ec]
				ec++
			}
			do
			obj.value = ec_value
		}
		function money_blur(objid)
		{
			var obj=document.getElementById(objid)
			var v=obj.value
			var ec= 0 
			var ec_value = ""
			var div = v %  3 
			if(div >  0 )
			{
				ec_value += v.substring( 0 ,div) + ","
			}
			while(ec+div+ 3  < v.length)
			{
				ec_value += v.substring(ec+div,ec+div+ 3 ) + ","
				ec = ec +  3 
			}do
			ec_value = ec_value.substring( 0 ,ec_value.length- 2 )
			obj.value = ec_value
		}

и это вызывается вот так
<asp:textbox onkeypress="onKeyPress_OnlyDigits()" onfocus="money_focus('TB_C_GrossSales')" onblur="money_blur('TB_C_GrossSales')" id="TB_C_GrossSales" бла бла бла></asp:textbox>
...
Рейтинг: 0 / 0
20.03.2006, 23:38
    #33613240
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ткните носом. Как отдалить JavaScript
Script Debugger for Windows NT 4.0 and Later - если винда лицензионная ;) - если наоборот - кричи помогу...
P.S. кстати - глупое замечание
Код: plaintext
1.
<asp:textbox onkeypress="onKeyPress_OnlyDigits()" onfocus="money_focus('TB_C_GrossSales')" onblur="money_blur('TB_C_GrossSales')" id="TB_C_GrossSales" бла бла бла></asp:textbox>
вот почему то кажеться что у этого контрола нет такого обработчика onkeypress
а вот у такого - есть
Код: plaintext
<input id="Text1" type="text" onkeypress="" runat="server" />
...
Рейтинг: 0 / 0
21.03.2006, 10:54
    #33613722
profil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ткните носом. Как отдалить JavaScript
...
Рейтинг: 0 / 0
21.03.2006, 13:02
    #33614205
Alex Tyutyunik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ткните носом. Как отдалить JavaScript
Зря кажется, у меня работает onkeypress...

Включил отладку. у меня даже в функцию отладчик не входит.
Подсвечивает money_focus('TB_C_GrossSales') в описании текстбокса, в функцию не заходит. весь js в отдельном файле, путь к нему правильный.

Microsoft JScript Runtime Error: Object expected.

UPDATE: Знаете, что самое смешное...
у меня перестал выдавать ошибку после того как я пару раз запустил страницу в Firefox'e :))
Работает неправильно, но работает :)
...
Рейтинг: 0 / 0
21.03.2006, 13:05
    #33614218
profil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ткните носом. Как отдалить JavaScript
по скрипту:
не удивительно, что объект не найден
что бы передать ссылку на серверный контрол используйте TB_C_GrossSales.ClientID,
а если из обработчика контрола - тогда используйте this
т.е. money_blur(this)
причем, как правильно заметил vladgrig, Ваша конструкция вообще не рабочая - либо воспользуйтесь его советом, либо в codebehind добавляейт соответствующие атрибуты

посмотрите похожее обсуждение: /topic/266419#2396140

ps. иногда все же полезно, смотреть html, который получается на выходе ( V iew Source, я имею ввиду))
...
Рейтинг: 0 / 0
21.03.2006, 13:40
    #33614339
Alex Tyutyunik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ткните носом. Как отдалить JavaScript
profil, удивительно, но у меня работает сейчас.
были правда математические ошибки в коде, но я подправил теперь работает.
спасибо за текст как включить отладку.

Да заодно вопрос. эти 2 функции надо использовать для всех полей, в которые вводятся суммы денежные (не для одного какого-то поля).
Сейчас у меня работает для всех полей.
Но на будущее хочется знать, как правильно использовать ClientID и this тоже , чтоб функция на JS универсально работала со всеми контролами что ее вызывают.
...
Рейтинг: 0 / 0
21.03.2006, 13:56
    #33614388
profil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ткните носом. Как отдалить JavaScript
в приведенной ссылке есть ответы на все волнующие вас вопросы.
на всяк:
onfocus="money_focus(this)"
Код: plaintext
1.
2.
3.
4.
function money_focus(obj)
		{
    var v=obj.value
    ...
 }


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
21.03.2006, 14:26
    #33614498
Alex Tyutyunik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ткните носом. Как отдалить JavaScript
Спачибо, работает.
И маленький вопрос, на завершение.
Я хочу поставить позицию курсора на конец строки.
Сделав поиск здесь на сайте, добавил конструкцию obj.value += ""
но не помогает, у меня курсор сначала ставится в конце, потом прыгает в начало. может дело в том что именно в функции по onfocus() я и делаю это... где ж тогда делать.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Ткните носом. Как отдалить JavaScript / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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