powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Отловить изменения в TextBox
18 сообщений из 18, страница 1 из 1
Отловить изменения в TextBox
    #36529889
Leshiy3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На форму динамически выводятся TextBox'ы. Нужо обработать внесение изменений в какой-либо из них
aspx:
Код: plaintext
1.
2.
3.
4.
5.
    <form id="form1" runat="server">
    <asp:Label ID="ShowRez" runat="server"></asp:Label>
        <asp:Table runat="server" ID="mainTab">
        </asp:Table>
    </form>
cs:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.Params["Val"] != null)
        {
            //просто выводим
            ShowRez.Text = Request.Params["Val"].ToString() + " IN " + Request.Params["TDID"].ToString();
        }
        TableCell tc;
        TableRow tr;
        for (int i =  1 ; i <  5 ; i++)
        {
            tr = new TableRow();
            mainTab.Rows.Add(tr);
            tc = new TableCell();
            tr.Cells.Add(tc);
            TextBox TB = new TextBox();
            TB.ID = "tb" + i.ToString();
            TB.Attributes.Add("onChange", "ChangeVal('" + TB.ID + "')");
            TB.Attributes.Add("onKeyPress", "KeyPress(event,'" + TB.ID + "'); return false;");
            tc.Controls.Add(TB);
        }
    }
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.
function ChangeVal(TdId)
{
EndValue=document.getElementById(TdId).value;
adr="Default.aspx?Val="+EndValue+"&TDID="+TdId;
location=adr;
}

function KeyPress(e,Id)
{
    var CodKey = navigator.appName == 'Netscape' ? e.which : e.keyCode;
    if(CodKey== 13 )
        {
        //типа редактирование закончилось
        ChangeVal(Id);
        }
        else
        {
        //добавляем значиение к полю проверив на то что это цифры и ни что другое
        if(CodKey> 47  && CodKey< 58 )
            {
            document.getElementById(Id).value=document.getElementById(Id).value+String.fromCharCode(CodKey);
            }     
        }
}
Если редактирование заканчивается (как и положено) Enter'ом, то все отрабатывает. Но как отловить ситуацию когда внесены изменения и просто клик мыши в произвольном месте формы? Можно попробовать в KeyPress(e,Id) пихать Id в глобальную переменную, при клике получать последний редактируемый TextBox и обрабатывать его значение. А есть что-то более универсальное?
...
Рейтинг: 0 / 0
Отловить изменения в TextBox
    #36529905
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что-то я не понял,событие onchange отменили чтоли? оно же у вас используется
...
Рейтинг: 0 / 0
Отловить изменения в TextBox
    #36529909
Leshiy3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот и я удивляюсь что onChange не работает вообще
Повесил еще onFocusout вроде шевелится, но как-то уж сильно наворочено получается
...
Рейтинг: 0 / 0
Отловить изменения в TextBox
    #36529920
Leshiy3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leshiy3Повесил еще onFocusout вроде шевелится, но как-то уж сильно наворочено получается
И работает только в IE ни в FF, ни в Опере это уже не пролазит
...
Рейтинг: 0 / 0
Отловить изменения в TextBox
    #36529938
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
if (TB.addEventListener) {
            TB.addEventListener ("onclick", ChangeVal(TB.ID), false);
        } else if (obj.attachEvent) {
            TB.attachEvent ("onclick", ChangeVal(TB.ID));
        } else {
            TB.onclick = ChangeVal(TB.ID);
        }    
может так?
...
Рейтинг: 0 / 0
Отловить изменения в TextBox
    #36529981
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поправка)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
if (TB.addEventListener) {
            TB.addEventListener ("change", ChangeVal(TB.ID), false);
        } else if (TB.attachEvent) {
            TB.attachEvent ("onchange", ChangeVal(TB.ID));
        } else {
            TB.onclick = ChangeVal(TB.ID);
        }    

...
Рейтинг: 0 / 0
Отловить изменения в TextBox
    #36530002
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leshiy3На форму динамически выводятся TextBox'ы. Нужо обработать внесение изменений в какой-либо из них
Я правда не понял кто такие TextBox'ы, с точки зрения ХТМЛ-разметки... Но для

Код: plaintext
1.
2.
3.
4.
<INPUT TYPE='<любое_допустимое_значение>' />
..
<textarea>
</textarea>
...

Есть событие onkeypress...

Код: plaintext
<INPUT TYPE='text' NAME=txtEnterValue onkeypress="<любой_допустимый_код>">

Но "универсальным" это тоже не назвать... Т.к. им "учитывается" нажатие только некоторых кнопок.
...
Рейтинг: 0 / 0
Отловить изменения в TextBox
    #36530209
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leshiy3,

Конечно же onchange .
...
Рейтинг: 0 / 0
Отловить изменения в TextBox
    #36530279
mjQ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mjQ
Гость
автор Но как отловить ситуацию когда внесены изменения и просто клик мыши в произвольном месте формы?
Onblur
...
Рейтинг: 0 / 0
Отловить изменения в TextBox
    #36530394
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это потеря фокуса даже без внесения изменений)
...
Рейтинг: 0 / 0
Отловить изменения в TextBox
    #36530674
mjQ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mjQ
Гость
авторэто потеря фокуса даже без внесения изменений)
и что?! хотя не отвечай - сам отвечу...
на входе запоминаешь значение - на блур сверяешься - любой клиентский валидатор работает по такой схеме и - ЭТО не то?! ;)
...
Рейтинг: 0 / 0
Отловить изменения в TextBox
    #36530792
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mjQ,

А чем онченж не подходит? И ничего запоминать и сверяться не надо.
...
Рейтинг: 0 / 0
Отловить изменения в TextBox
    #36530839
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge,

Если посмотреть код ТС, то при смене значения он хочет переходить по сформированной ссылке. Юзер удивится если нажатие любой буквы будет сразу уводить его не туда, куда ему надо.
...
Рейтинг: 0 / 0
Отловить изменения в TextBox
    #36530852
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зыShSerge,

Если посмотреть код ТС, то при смене значения он хочет переходить по сформированной ссылке. Юзер удивится если нажатие любой буквы будет сразу уводить его не туда, куда ему надо.
так вроде onchange срабатывает при потере фокуса,не? а не при нажатии в поле любой буквы
...
Рейтинг: 0 / 0
Отловить изменения в TextBox
    #36530863
mjQ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mjQ
Гость
авторЕсли посмотреть код ТС, то при смене значения он хочет переходить по сформированной ссылке. Юзер удивится если нажатие любой буквы будет сразу уводить его не туда, куда ему надо.
это раз!
авторА чем онченж не подходит? И ничего запоминать и сверяться не надо.
авторВот и я удивляюсь что onChange не работает вообще

это два!

P.S. странно, конечно, что onChange не срабатывает ;)
...
Рейтинг: 0 / 0
Отловить изменения в TextBox
    #36530915
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Онченж срабатывает при потере фокуса, если значение при получении и потере фокуса изменилось.
...
Рейтинг: 0 / 0
Отловить изменения в TextBox
    #36530946
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
собственно этого вроде и хотел ТС...как я понял он не мог динамически назначить элементу это событие
...
Рейтинг: 0 / 0
Отловить изменения в TextBox
    #36531040
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmilRegis
так вроде onchange срабатывает при потере фокуса,не? а не при нажатии в поле любой буквы
да точно, запамятовал :(
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Отловить изменения в TextBox
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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