powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / asp.net и JavaScript
26 сообщений из 26, показаны все 2 страниц
asp.net и JavaScript
    #32437983
UU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проблем такой

на странице два поля для ввода
и третье ReadOnly, в котором надо отображать сумму из первых двух при изменении сумм в них, также кнопка, по нажатию которой, выполняется postback и запись в базу запросом значений из первых двух полей

если первые два делать не как Input'ы, то на них не получается повешать функцию скриптовую, вылетает ошибка при компиляции

если первые две делать как Input'ы, то функцию получается повешать, и она работает, только в этом случае не понятно, когда будет отрабатываться нажатие кнопки на сервере, как обратится к этим двум input'ам, как взять из них суммы?

третье поле, которое ReadOnly, приходится тоже делать input'ом, т.к. в скриптовой функции нельзя обратится к ней если оно не input
...
Рейтинг: 0 / 0
asp.net и JavaScript
    #32438029
monstrU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у button есть коллекция Attributes, в которой можно повесть на web контрол клиентский скрипт. то есть можно повесть обработку события - потеря фокуса на клиенте, а в базу вность в серверном коде то есть
button1.Attributes("onblue","код функции")
ну а в отклике на нажате кнопки внести в базу
...
Рейтинг: 0 / 0
asp.net и JavaScript
    #32439718
UU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по-моему че-то не то ты ответил, либо я не понял

меня интересует как из inputов брать значения
...
Рейтинг: 0 / 0
asp.net и JavaScript
    #32444926
maxapet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если я правильно понял, то нужно на клиенте обрабатывать изменения (событие onchange ) в input 'ах, как это сделать правильно сказал предыдущий оратор, а затем уже по нажатию кнопки отправлять результат на сервер. А из input 'а значение взять стандартно, через свойство value , преобразовать его ParseInt , складывать и помещать в поле суммы (свойство value или text ). Слишком роскошно каждое изменение на сервере обрабатывать, если его не нужно там хранить.

Или я, всё же, понял неправильно?

P.S. А с событиями мне никто толком так и не рассказал, как и что. Как они передаются от объекта к объекту, как обрабатываются - тайная сия велика есть.
...
Рейтинг: 0 / 0
asp.net и JavaScript
    #32446384
UU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxapet А из input'а значение взять стандартно, через свойство value,

вот это меня и интересует, как в Button_Click на сервере обратиться к инпуту, по имени что ли?? или как?
не видны инпуты.
...
Рейтинг: 0 / 0
asp.net и JavaScript
    #32446443
maxapet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно и серверную функцию навесить, и клиентские одновременно. С серверной, я думаю, понятно. А клиентские навешиваются через атрибуты элементов, как написал monstrU. Доступ к input 'ам на клиенте по их id или name . Дело в том, что клиент и "не знает", что какой-то элемент - серверный. И доступ к элементам на клиенте обычный, DHTML 'ный.
...
Рейтинг: 0 / 0
asp.net и JavaScript
    #32446449
maxapet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дополнюсь.
Т.е. получается две части: клиентская, которая обрабатывает изменения в input 'ах, вычисляет сумму и отображает её в поле результата и серверная, которая эти значения заносит БД.
Т.о. все элементы ввода, значения которых надо хранить в БД, и кнопка, будут серверными. Но обрабатываться они будут и на сервере, и на клиенте.
...
Рейтинг: 0 / 0
asp.net и JavaScript
    #32447244
UU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
блин, maxapet, все хорошо пишешь, но мой вопрос не видишь :)

как на сервере считать значение из инпута, именно на сервере?
спасибо заранее
...
Рейтинг: 0 / 0
asp.net и JavaScript
    #32447261
maxapet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, UU, я же написал, что input 'ы должены быть серверными!
maxapetТ.о. все элементы ввода, значения которых надо хранить в БД, и кнопка, будут серверными. Но обрабатываться они будут и на сервере, и на клиенте.
...
Рейтинг: 0 / 0
asp.net и JavaScript
    #32447288
maxapet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S. Серверные input 'ы называются TextBox 'ами, если я не ошибаюсь.
...
Рейтинг: 0 / 0
asp.net и JavaScript
    #32447511
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так и обращайся: mytextbox.Text

-- Tygra's --
...
Рейтинг: 0 / 0
asp.net и JavaScript
    #32448337
UU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо, input серверный ,т.е. TextBox.
на сервере понятно как брать содержимое
а на клиенте как из него брать содержимое?
...
Рейтинг: 0 / 0
asp.net и JavaScript
    #32448351
maxapet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На клиенте это будет обычный input , и доступ к нему будет как обычно к input 'у, через его id . A id его будет тот же самый, что и имя серверного объекта.
Т.е. выглядеть это будет примерно так (JavaScript):
Код: plaintext
document.all[Input_Id].value;

А подробнее - в руководстве по DHTML .
...
Рейтинг: 0 / 0
asp.net и JavaScript
    #32448494
UU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
короче

это webform1.aspx

Код: 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.
<%@ Page language= "c#"  Codebehind= "WebForm1.aspx.cs"  AutoEventWireup= "false"  Inherits= "test.WebForm1"  %>
<%@ Register TagPrefix= "cr"  Namespace= "CrystalDecisions.Web"  Assembly= "CrystalDecisions.Web, Version=9 . 1 . 3300 . 0 , Culture=neutral, PublicKeyToken=692fbea5521e1304" %>
<!DOCTYPE HTML PUBLIC  "-//W3C//DTD HTML 4 . 0  Transitional//EN" >
<HTML>
	<HEAD>
		<title>WebForm1</title>
		<meta content= "Microsoft Visual Studio 7 . 0 " name= "GENERATOR" >
		<meta content= "C#"  name= "CODE_LANGUAGE" >
		<meta content= "JavaScript"  name= "vs_defaultClientScript" >
		<meta content= "http://schemas.microsoft.com/intellisense/ie5"  name= "vs_targetSchema" >
		<SCRIPT language= "JavaScript" >
function newcolor(color)
{
alert( "Вы выбрали "  + color)
document.bgColor=color
document.Form1.inp2.value=document.all[TextBox1].value


}
		</SCRIPT>
	</HEAD>
	<body MS_POSITIONING= "GridLayout" >
		<form id= "Form1"  method= "post"  runat= "server" >
			<asp:textbox id= "TextBox1"  style= "Z-INDEX: 101 ; LEFT: 310px; POSITION: absolute; TOP: 242px" runat= "server" ></asp:textbox>
			<br>
			<INPUT id= "inp1"  style= "Z-INDEX: 102 ; LEFT: 308px; POSITION: absolute; TOP: 135px" type= "text"  onchange= "newcolor('pink')"  name= "inp1" >
			<br>
			<asp:button id= "Button1"  style= "Z-INDEX: 103 ; LEFT: 207px; POSITION: absolute; TOP: 57px" runat= "server"  Text= "Button" ></asp:button>
			<br>
			<INPUT id= "inp2"  style= "Z-INDEX: 104 ; LEFT: 306px; POSITION: absolute; TOP: 161px" type= "text"  name= "inp2" ></form>
	</body>
</HTML>



внес строку в TextBox1 внес строку в inp1 цвет изменился т.е. процедура выполнилась, а значение в inp2 не занеслось
...
Рейтинг: 0 / 0
asp.net и JavaScript
    #32448654
maxapet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй вот так:

Код: plaintext
1.
2.
3.
4.
5.
function newcolor(color)
{
alert( "Вы выбрали "  + color)
document.bgColor=color
document.all.inp2.value=document.all[TextBox1].value
}


Т.е. вместо Form1.inp2 нужно писать all.inp2 . Доступ к объектам через форму пишется по-другому. Сейчас не помню как, но если ОЧЕНЬ нужно, то гляну и скажу попозже.
...
Рейтинг: 0 / 0
asp.net и JavaScript
    #32448674
maxapet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вспомнил! Вспомнил!! Я всё вспомнил!!!

Если обращаешься через форму, то не нужно ссылаться на документ. Т.е. с доступом через форму будет выглядеть вот так:

Код: plaintext
1.
2.
3.
4.
5.
function newcolor(color)
{
alert( "Вы выбрали "  + color)
document.bgColor=color
Form1.inp2.value=document.all[TextBox1].value
}


Ссылка на документ удалена, и всё работает. Удачи!
...
Рейтинг: 0 / 0
asp.net и JavaScript
    #32448907
UU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не, так не работает пока тоже
...
Рейтинг: 0 / 0
asp.net и JavaScript
    #32449025
UU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
похоже дело во второй части присваивания, т.к. если написать

Код: plaintext
document.all.inp2.value= 3 

все присваивается
...
Рейтинг: 0 / 0
asp.net и JavaScript
    #32449048
maxapet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но у меня-то работает! По крайней мере клиентская часть. При уходе с верхнего поля ввода информация из него переносится в нижнее, а страница окрашивается в розовый цвет.
Правда, я не писал all[TextBox1].value - это неправильно, если, конечно, TextBox1 не определена как переменная, которой присвоено строковое значение. Если TextBox1 - id объекта, то надо писать так: all.TextBox1.value .
А что не работает-то?
...
Рейтинг: 0 / 0
asp.net и JavaScript
    #32449105
maxapet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Либо вот так: all["TextBox1"].value
...
Рейтинг: 0 / 0
asp.net и JavaScript
    #32449170
UU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот так вроде работает

Код: plaintext
document.all.inp2.value=document.all[ "TextBox1" ].value


вот этого я от тебя и добивался :)
...
Рейтинг: 0 / 0
asp.net и JavaScript
    #32449311
maxapet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорошо, что мы всё же поняли друг друга. :))
Удачи.
...
Рейтинг: 0 / 0
asp.net и JavaScript
    #32837329
gp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К сожалению, теперешняя ситуация с JavaScript в разных браузерах такова, что используя клиентские скрипты вы никогда не будете уверены в результате больше, чем: "вот так вроде работает"

Прелесть ASP NET в том, что он маскирует от вас детали client или server, даже когда вы вешаете на server side контроли обработчики сообщений, валидаторы и проч.

В случае DHTML + ASP NET это выглядит примерно как фанат-велосипедист купил мерс, и приделывает к нему педали. Это нелепо, хотя, на первый взгляд, позволило бы иногда "проскочить" побыстрее и, возможно, даже сэкономить горючее.
...
Рейтинг: 0 / 0
asp.net и JavaScript
    #32838732
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
document.all.inp2.value=document.all["TextBox1"].value

если id присвоен (а он присвоен), то можно напрямую, без document.all:

Код: plaintext
inp2.value=TextBox1.value;
...
Рейтинг: 0 / 0
asp.net и JavaScript
    #32838804
VladiCh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вообще лучше не использовать document.all, т.к. это нестандартная IE штука.
надо пользоваться стандартными DOM - средствами, например document.getElementById - будет работать во всех браузерах.
...
Рейтинг: 0 / 0
asp.net и JavaScript
    #32839522
VladiCh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хотя судя по последним сообщениям, в Mozilla это тоже будет работать.

http://soft.compulenta.ru/2004/12/22/52816/
...
Рейтинг: 0 / 0
26 сообщений из 26, показаны все 2 страниц
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / asp.net и JavaScript
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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