IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   [Java Script] как проверить, есть ли в форме выделение? (http://www.imho.ws/showthread.php?t=52640)

Psionic Vision 03.03.2004 05:08

[Java Script] как проверить, есть ли в форме выделение?
 
Допустим, есть форма. Как на javascript проверить, выделено ли что нибудь в textarea?
Cпасибо

RaZEr 03.03.2004 08:02

selection.createTextRange();

Psionic Vision 03.03.2004 23:57

RaZEr
Ну... это правильно?

abc = document.forms.form1.textarea1.createTextRange();
if (abc != 0) {
alert(abc);
}

?

Добавлено через 4 минуты:
попробовал, не получается:
javascript:abc = document.forms.vbform.message.createTextRange(); alert(abc);
выдает алерт с "[object]"

Добавлено через 3 минуты:
а так:
javascript:abc = document.forms.vbform.message.createTextRange().text; alert(abc);

выдает все содержимое окошка... а мне нужно только выделенное
так:

javascript:abc = document.forms.vbform.message.selection.createTextRange().text; alert(abc);
выдает ошибку...

Добавлено через 7 минут:
А так:
a=document.selection.createRange().text;
if(a!="") {alert(a);} else {alert('lala');}
Работает.

Добавлено через 12 минут:
Короче, задача такая:

Есть страница.
Можно ли отправить на обработку скрипту в новом окне только одно выделенное слово с этой страницы?

Vaulter 04.03.2004 00:26

Neo
конечно, createRange(), текст пихаешь в hidden поле формы...потом form.submit()

Psionic Vision 04.03.2004 01:34

Vaulter
а конкретнее? допустим вот я пишу текст. и выделил я слово "конкретнее". как мне его отправить, допустим, на обработку slovar.php?

V0iD 04.03.2004 02:47

HTML:
<script>
function send() {
document.forms["slovar"].tosend.value = document.selection.createRange().text;
document.forms["slovar"].submit();
}
</script>

<form name="slovar" method="post" action="slovar.php">
<input type="hidden" name="tosend">
<input type="submit" onClick="send()">
</form>

joker99 04.03.2004 02:52

Например:

Код:

text of you page ....
<form name=form1 method=post action=slovar.php>
<input type=hidden name="word" value="">
<input type=submit value="Translate" onclick="document.form1.word = document.selection.createRange().text; return true;">
</form>

Упс, немного опоздал

Psionic Vision 04.03.2004 03:17

V0iD
joker99
Спасибо :)

Добавлено через 11 минут:
А работают ли вложенные формы?
По типу вложенных таблиц :)

Потому как что делать, если встроить эту фичу требуется вот в это окошко на vbulletin, в формы написания поста.... не может же у одной формы быть два действия?

joker99 04.03.2004 03:29

Нет.
Формы не могут быть вложенными, у формы может быть только один action

Цитата:

Neo:
Потому как что делать, если встроить эту фичу требуется вот в это окошко на vbulletin, в формы написания поста
Код:

<script>
function send() {
document.forms["slovar"].tosend.value = document.selection.createRange().text;
document.forms["slovar"].submit();
}
</script>

<form name="answer" method="post" action="tread.php">
.. a lot of inputs ... and other stuff
<input type="button" value="Translate" onClick="send()">
</form>

<form name="slovar" method="post" action="slovar.php">
<input type="hidden" name="tosend">
</form>

Причём лучше вторую форму засунуть в iframe, чтоб при нажатиит кнопки перезагружался только он а не вся страница.

Psionic Vision 04.03.2004 04:17

Спасибо.
Но я результаты формы открываю в новом окне, так что ничего не перезагружается :)) сейчас пойду пробовать. :dance:

Psionic Vision 06.03.2004 05:58

Два новых вопроса по теме:

1. Как добавить конкретный текст в позицию курсора в форме?
2. Как проверить, выделено ли что-то именно в форме, но не вне нее?


Часовой пояс GMT +4, время: 08:29.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.