Программирование => JavaScript & JScript => Тема начата: JV от 29 Марта 2004, 07:58:55
Название: Возможно, глупый вопрос про фокус
Отправлено: JV от 29 Марта 2004, 07:58:55
как проверить где находится фокус? например, в форме есть 2 поля: text и textarea document.forma.text.focus() - устанавливает фокус, а как проверит где он в данный момент, при вызове скрипта - на text или на textarea?? скрипт вызывается при onclick на совершенно другом элементе??
Название: Возможно, глупый вопрос про фокус
Отправлено: ThE0ReTiC от 29 Марта 2004, 11:45:22
JV вопрос глупый ибо при клике у тебя фокус переходи на элемент по которому кликнул
Название: Возможно, глупый вопрос про фокус
Отправлено: JV от 29 Марта 2004, 11:59:04
ThE0ReTiC не, это я понимаю. но вопрос в другом: есть форма
а скрипт выглядит так: function add(t){ if(document.posl.model.focus == true){ //вот так нельзя, а как можно? document.posl.model.value = document.posl.model.value + t; document.posl.model.focus(); } if(document.posl.theme.focus == true){ document.posl.theme.value = document.posl.theme.value + t; document.posl.theme.focus(); } }
Название: Возможно, глупый вопрос про фокус
Отправлено: Werwolf13 от 29 Марта 2004, 12:30:59
Вообще, для элемента, например input type=text делаешь так:
Название: Возможно, глупый вопрос про фокус
Отправлено: JV от 29 Марта 2004, 13:20:33
Werwolf13 да, это я понимаю, но _надо_ не так!! :) есть несколько ссылок типа aaa и везде some_text разный.. вот мне и нужно, чтобы при клике на эту ссылку либо в поле text, либо в textarea (в зависимости от того, где находится курсор, и куда вводит пользователь) появился этот some_text.. а не только при onfocus, потому что пользователь может вообще этими ссылками не воспользоваться, а просто набить текст в textarea и нажать submit..
чтобы еще как-то уточнить, приведу пример: вот как здесь, в форуме. Когда пишешь сообщение, есть вспомогательные vB коды, и когда ты кликаешь, например, на \'B\', то в текстовом поле появляется , вот и мне надо нечто подобное, только проблема в том, что у меня не одно поле, а два, и вставить нужно в одно из них, где в данный момент идет набор. уффф.. надеюсь, кто-нибудь поймет мою проблему, и поможет :)
Название: Возможно, глупый вопрос про фокус
Отправлено: гоша от 29 Марта 2004, 13:38:58
на самом деле, это сложно.
к моменту нажатия на кнопку фокус у поля уже потерян, поэтому нужно запоминать, где он был в последний раз, например
и потом
lastFocus.value=....
см. также http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/activeelement.asp
Название: Возможно, глупый вопрос про фокус
Отправлено: CGVictor от 29 Марта 2004, 15:43:43
Фокус тебе, наверное, не поможет. При клике на линк фокус устанавливается на этот линк, а потом обрабатывается сам линк...
Название: Возможно, глупый вопрос про фокус
Отправлено: Werwolf13 от 29 Марта 2004, 16:14:07
CGVictor Прав ты, конечно, но пускай сделает тогда так: в линках ставит href = \'#\', onclick="func1(); ", где в func1() устанавливается прежде всего фокус туда, где он был до клика (Гоша в общих чертах указал, как это делать), а потом уже вызывает add(), этот add() вставляет текст в элемент document.activeElement. Должно бы покатить, как думаешь?
Название: Возможно, глупый вопрос про фокус
Отправлено: JV от 29 Марта 2004, 18:08:53
Всем огромное спасибо!!! проблема решена :)
обрабатываю событие onblur
Название: Возможно, глупый вопрос про фокус
Отправлено: JV от 29 Марта 2004, 18:35:41
да, но теперь возникла другая проблема. тоже, возможно, покажется глупой, поэтому тема отсается актуальной :) в общем, как значения из Java Script вернуть в PHP у меня есть переменна $model, которая создается из поля формы
Название: Возможно, глупый вопрос про фокус
Отправлено: CGVictor от 29 Марта 2004, 20:04:17
JV Чего-й то я не понял. Если не нажата кнопка, то фома не отправлена. И ПХП просто не при чем. А если она отправлена, то используй $model...
В принципе, для передачи значений из JS можно использовать скрытые поля, заполняемые скриптом. Но лучше ты напиши, что тебе все-таки надо...
Название: Возможно, глупый вопрос про фокус
Отправлено: JV от 29 Марта 2004, 20:29:18
CGVictor в общем, форма не отправлена, но текстовое поле заполнено. Вместо кнопки submit пользователь нажимает, скажем, опять на ссылку click
function aaa(){ var tmp = document.posl.model.value; } и теперь эту переменную (то бишь, текст из формы) мне надо записать в обычный текстовый файл, и так как я не знаю, работает ли Java Script с файлами (а если и работает, то не пойму как), то хотелось передать это все PHP и его средствами записать в файл. Вот такая замута :)
Название: Возможно, глупый вопрос про фокус
Отправлено: CGVictor от 30 Марта 2004, 14:05:36
JV Как ответ на вопрос: 1.JS с файлами не работает. 2.Делаешь фреймы (1-2 шт.), в них формы для каждого варианта отправки. При переходе фокуса ты submit-ишь определенную форму, которая отправляет некие данные на сервер. Данные при потере фокуса заполняешь в JS.
Как диагноз: Скорее всего, если возник такой вопрос - у тебя серьезные ошибки на этапе проектирования интерфейса. Можно обойтись без такого варианта работы. Если совсем идей нет - выноси отдельное окошко с полями для заполнения, как, например, в Я.Почте. Варианты есть. Лучше опиши задачу.
Название: Возможно, глупый вопрос про фокус
Отправлено: гоша от 30 Марта 2004, 16:26:10
JV
> (то бишь, текст из формы) ... хотелось передать это все PHP
http://faq.phpclub.net/na_tanke
CGVictor
хорош врать.
Название: Возможно, глупый вопрос про фокус
Отправлено: ThE0ReTiC от 30 Марта 2004, 16:29:17
гоша [moderator] язык :mad: [/moderator]
Название: Возможно, глупый вопрос про фокус
Отправлено: JV от 30 Марта 2004, 17:22:17
CGVictor не, фреймы вообще не нужны.. как варинт тут возникла мысля при нажатии pnclick вызвать метод submit, и потом documet.location() с необходимыми параметрами, может, получится.. попробую.. если что, еще уточню проблемку.. а пока _спасибо_!! :)
Название: Возможно, глупый вопрос про фокус
Отправлено: JV от 30 Марта 2004, 18:32:13
Название: Возможно, глупый вопрос про фокус
Отправлено: CGVictor от 30 Марта 2004, 18:35:24
Цитировать
гоша: хорош врать.
Что тебе не понравилось?
Цитировать
JV: мысля при нажатии pnclick вызвать метод submit, и потом documet.location() с необходимыми параметрами
Да ты разберись, что тебе нужно!
Цитировать
JV: а то нехорошо голый текст на русском языке передавать
А что тебя не устраивает? По спецификации - любой символ 8битной кодировки. [off]Чем меня свело с этим форумом - судьбой или судорогой?[/off]
Название: Возможно, глупый вопрос про фокус
Отправлено: JV от 30 Марта 2004, 19:26:16
Цитировать
CGVictor: Да ты разберись, что тебе нужно!
да знаю я что мне нужно! мне нужно передать параметры в ПХПшную прогу, чего и удалось достьчь с помощью window.location.href="file.php?save=1&theme="+t+"&model="+m; здесь мне уже все ясно, а про кодировку все-таки не понятно.. что значит:
Цитировать
По спецификации - любой символ 8битной кодировки.
не пойму.. ??
Название: Возможно, глупый вопрос про фокус
Отправлено: гоша от 30 Марта 2004, 19:37:38
JV
не тупи.
повторяю еще один и последний раз
"переменные" php скрипту передаются так
ВСЁ.
без всяких яваскриптов итп. вперед с песней читать на танке и до новых встреч.
CGVictor
Формулирую интеллигентно:
хватит морочить человеку голову. Не владеешь вопросом -- не суйся с советами.
Название: Возможно, глупый вопрос про фокус
Отправлено: JV от 30 Марта 2004, 19:47:57
гоша
не, я не туплю.. ты, может, невнимательно проблемку мою прочитал, но она заключалась в том, что submit еще не нажата, и, возможно, не будет нажата вообще, а мне _надо_ выцепить то, что набрал в поле textarea пользователь, и передать на выполнение скрипту.. поэтому ява тут очень даже причем.. а за ссылку - спасибо, мне понравилось )) больше понимания внесло в работу ПХП.
Название: Возможно, глупый вопрос про фокус
Отправлено: CGVictor от 31 Марта 2004, 13:00:08
[OFF]
Цитировать
гоша: Формулирую интеллигентно:
Так лучше
Цитировать
гоша: Не владеешь вопросом -- не суйся с советами.
Тебе, как мега-маха-гуру-ЖСа-и-ПХП, конечно, виднее...
Да, если ты не знал: то, что не относится к теме обсуждения, обычно оформляют оффтопиком[/OFF]
JV 1.Я имел в виду то, что в принципе можно написать в url русские буквы. Это не будет ошибкой. Другое дело, что так некрасиво, возникнут проблемы с кодировками и т.д. Но принципиально такая возможность существует. 2.Смотри доку по функциям escape и unescape.
Название: Возможно, глупый вопрос про фокус
Отправлено: Werwolf13 от 01 Апреля 2004, 18:25:56
CGVictor Вооббще JV нужно, как я понимаю, именно кодирование контента полей формы, а не получение кодов символов и наоборот...
JV Пользуй SSL
Название: Возможно, глупый вопрос про фокус
Отправлено: JV от 02 Апреля 2004, 10:12:31
На самом деле, проблему я решила. но другими способами, теперь шифровать мне вообще не нужно.
CGVictor escape и unescape не подошли, т.к. при передаче-то они хоть и кодируют, но потом выцепить обратно исходный текст не представляется возможным.
Werwolf13 а про SSL я почитала, но что-то не совсем поняла как его можно использовать в этом случае.. точнее я не нашла хорошей доки по нему.
но все-равно спасибо, :) пока у меня вопросы все сняты. Благодарю за помощь :)