JavaScript и текстовые поля
От: Detrimon  
Дата: 01.09.03 19:57
Оценка:
Проблема в следующем: У меня есть два текстовых поля, созданных посредством JScript. Пусть у первого будет имя name1, у второго name2. Так же пусть есть кнопка (любая, не обязательно submit...). При нажатии на эту кнопку могло быть два варианта: 1. либо курсор находился в текстовом поле name1. 2. Курсор находился в текстовом поле name2. Так вот: программе нужно передать ссылку на то текстовое поле, в котором находился до нажатия на эту кнопку курсор... Как это сделать???? Если вопрос не совсем понятен, то стучитесь в Аську: 109488466. Заранее благодарю за ответы!!!
Re: JavaScript и текстовые поля
От: DrZubr Беларусь  
Дата: 01.09.03 20:21
Оценка:
Здравствуйте, Detrimon, Вы писали:

D>Проблема в следующем: У меня есть два текстовых поля, созданных посредством JScript. Пусть у первого будет имя name1, у второго name2. Так же пусть есть кнопка (любая, не обязательно submit...). При нажатии на эту кнопку могло быть два варианта: 1. либо курсор находился в текстовом поле name1. 2. Курсор находился в текстовом поле name2. Так вот: программе нужно передать ссылку на то текстовое поле, в котором находился до нажатия на эту кнопку курсор... Как это сделать???? Если вопрос не совсем понятен, то стучитесь в Аську: 109488466. Заранее благодарю за ответы!!!


По-моему, можно завести флажок, который определяет активное текстовое поле. А используя события onFocus() и onBlur() для текстовых полей менять значение флажка соответствующим образом. При нажатии на кнопку флаг будет содержать код активного текстового поля.
ICQ [168117153]
Re: JavaScript и текстовые поля
От: DSD Россия http://911.ru/cv
Дата: 02.09.03 01:11
Оценка:
Здравствуйте, Detrimon, Вы писали:

D>Проблема в следующем: У меня есть два текстовых поля, созданных посредством JScript. Пусть у первого будет имя name1, у второго name2. Так же пусть есть кнопка (любая, не обязательно submit...). При нажатии на эту кнопку могло быть два варианта: 1. либо курсор находился в текстовом поле name1. 2. Курсор находился в текстовом поле name2. Так вот: программе нужно передать ссылку на то текстовое поле, в котором находился до нажатия на эту кнопку курсор... Как это сделать???? Если вопрос не совсем понятен, то стучитесь в Аську: 109488466. Заранее благодарю за ответы!!!


Приблизительно так:
<script language="JavaScript">
<!--

var activeForm = null;

function setActiveForm(_form) {
   activeForm = _form;
}

function doSubmit() {
   if (activeForm!=null) activeForm.submit();
}

// -->
</script>

<form name=form1 action=somescript>
<textarea name=myfield onfocus="setActiveForm(document.form1);"></textarea>
</form>

<form name=form2 action=somescript>
<textarea name=myfield onfocus="setActiveForm(document.form2);"></textarea>
</form>


<form onsubmit="return false;">
<input type=reset value=Submit onclick="doSubmit();">
</form>


Примечания:
  1. Код писал сходу, не проверяя на работоспособность, так что поправить возможные мелкие глюки — на твоей совести.
  2. Под твоим термином "текстовые поля" я подразумевал элемент <TEXTAREA>, но их можно легко заменить и на <INPUT TYPE=text>
  3. Кроме события onfocus, обработчик setActiveForm() для надежности можно также повесить на события onclick и onkeydown/onkeypress.
--
DSD
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.