powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / onblur() и focus()
20 сообщений из 20, страница 1 из 1
onblur() и focus()
    #36516727
vasos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе время суток.
Смотрел поиском, нашел тему, но ответа там нету, подниму еще раз, как вернуть фокус элементу на который повешено событие на onblur именно в ff?
пример из "жизни":
Код: plaintext
1.
2.
<input type="text" onchange="check_prob(this,false);" onkeyup="check_prob(this,false);" onblur=" chk_minmaxlen(this,'3,5');" onkeypress="return  chk_len_str(20);" style="max-width: 400px;" maxlength="20" size="20" id="rname" name="rname" title="0" " class="fcs"/>

и скрипт:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
function chk_minmaxlen(element, minmax)
{
var a1=minmax.split(",");
var min=a1[ 0 ];
var max=a1[ 1 ];
if (element.value.length > max)
	{
	alert("Вы ввели слишком много символов. Должно быть не больше "+ max);
	element.focus();
	}

if (element.value.length < min)
	{
	alert("Вы ввели мало символов. Должно быть не менее "+ min);
	element.focus();
	return;
	}
}
думаю приблизительно ясно что делает скрипт и вопросов навроде "а зачем это делать?" не возникнет, просто прошу поделиться опытом, может кто-то решил таки эту задачку...
Заранее Благодарен.
...
Рейтинг: 0 / 0
onblur() и focus()
    #36516784
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
<input type="text" onblur=" chk_minmaxlen(this,'3,5'); this.focus();"  class="fcs"/>

так, нет?
...
Рейтинг: 0 / 0
onblur() и focus()
    #36516789
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет, не так))
...
Рейтинг: 0 / 0
onblur() и focus()
    #36516792
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmilRegis,

А как из инпута выйти?
...
Рейтинг: 0 / 0
onblur() и focus()
    #36516805
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeEmilRegis,

А как из инпута выйти?
что значит выйти? если сделать как я написал, то курсор обратно не встаёт, но при нажатии на tab переходит к следующему после этого элементу
...
Рейтинг: 0 / 0
onblur() и focus()
    #36516829
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmilRegisShSergeEmilRegis,

А как из инпута выйти?
что значит выйти? если сделать как я написал, то курсор обратно не встаёт, но при нажатии на tab переходит к следующему после этого элементу
Да ну?
Код: plaintext
1.
2.
3.
4.
5.
6.
<html>
<body>
<input type="text" onblur="this.focus()" />
<input type="text" />
</body>
</html>
Попробуйте выйти из первого инпута.
...
Рейтинг: 0 / 0
onblur() и focus()
    #36516845
vasos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот и я не вижу пока что решения...сегодня уже полдня угрохал....
...
Рейтинг: 0 / 0
onblur() и focus()
    #36516848
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробовал)
курсор действительно не встаёт на первый инпут, но при нажатии на tab встаёт на второй...
...
Рейтинг: 0 / 0
onblur() и focus()
    #36516859
vasos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmilRegisпопробовал)
курсор действительно не встаёт на первый инпут, но при нажатии на tab встаёт на второй...
у меня вообще, что есть там онблур, что нету, работает одинаково....то биш никак не реагирует
...
Рейтинг: 0 / 0
onblur() и focus()
    #36516875
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так попробуй
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<html>
<head>
<script>
	var f = '';
	document.onclick = function(){
		if (f.length<> 0 )
			document.getElementById(f).focus();
	}
</script>
</head>
<body>
<input type="text" id="asd" onblur="f=this.id" />
<input type="text" id ="as"/>
</body>
</html>
...
Рейтинг: 0 / 0
onblur() и focus()
    #36516889
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поправка if (f.length!=0)
...
Рейтинг: 0 / 0
onblur() и focus()
    #36516918
vasos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так уже лучше :) спасибо, теперь хоть есть от чего оттолкнуться :)
...
Рейтинг: 0 / 0
onblur() и focus()
    #36516929
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
но это разумеется будет работать только при потере фокуса, связанным со щелчком мыши)) если поле потеряет фокус другим способом(например tab), то это не сработает
...
Рейтинг: 0 / 0
onblur() и focus()
    #36516974
vasos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эм....да....уже напробовался по всякому....немного не то....черт побери! а нету полноценной замены такому действу?
...
Рейтинг: 0 / 0
onblur() и focus()
    #36516984
vasos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasosэм....да....уже напробовался по всякому....немного не то....черт побери! а нету полноценной замены такому действу?
вариант с отловом нажатия таб не рассматривается....это пользовательские функции....все не так просто....какже обойти это использование?
...
Рейтинг: 0 / 0
onblur() и focus()
    #36517029
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чтозначит пользовательские функции? почему правда не отловить нажатие таба и так же не обработать?
...
Рейтинг: 0 / 0
onblur() и focus()
    #36517081
vasos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мммм....не хочу вдаваться в подробности, скажу просто что именно так внедрить эту функцию оооочень проблематично, придется лезть в то, чего я не делал...это большой костыль....дело в том что есть определенный интерфейс позволяющий пользователю навешивать определенный функции на поля таблиц, это одна из них и она просто выбивается из канона, придется оооочень много чего переделывать....к тому же непонятно как ее внести в базу ибо описать ее(функцию) невозможно...у нее даже имени нету, вобщем задача примерно мне была поставлена такая....есть файл .js, в нем есть функции func1(arg1,arg2), func2(arg1,arg2) и тд, все эти функции описываются в базе имя, код, русское_имя и тд...мне нужно было дописать туда функцию, которая бы делала ограничение мин и макс количества символов в поле ввода, это я и попробовал сделать, но напоролся на такой косяк...
...
Рейтинг: 0 / 0
onblur() и focus()
    #36517085
vasos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в общем теоретически функция должна выглядеть так:

function func(arg1, minmax)
{
...
...
}
и никак иначе :(
...
Рейтинг: 0 / 0
onblur() и focus()
    #36517945
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы слегка не учитываете последовательность событий. А она такова:
1. ставите курсор в первый элемент
2. щелкаете во второй элемент (или таб жмете, не важно)
3. у первого элемента начинает отрабатываться скрипт
4. скрипт возвращает фокус в первый элемент
5. скрипт завершает свою работу
6. щелчок|таб из пункта 2 наконец дожидается своей очереди на обработку и ставит курсор во второй элемент

Попробуйте добавить таймаут, чтобы щелчок проскочил вперед onblur:
Код: plaintext
1.
2.
3.
4.
5.
<html>
<body>
<input id="sdf" type="text" onblur="setTimeout('document.getElementById(\''+id+'\').focus()', 1)" />
<input type="text" />
</body>
</html>
...
Рейтинг: 0 / 0
onblur() и focus()
    #36521621
vasos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
illion
Попробуйте добавить таймаут, чтобы щелчок проскочил вперед onblur

Спасибо большое, очень помогли
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / onblur() и focus()
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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