IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   Вставить текст в поле input (http://www.imho.ws/showthread.php?t=106849)

KomatoZo 10.08.2006 12:11

Вставить текст в поле input
 
Привествую.
Народ, получил задачку. Задачка, вроде несложная, но так как в
программировании я полный ноль, то решил обратиться за помощью. Нужно человеку, чтобы в контекстном меню в IE был пункт по нажатии которого в текстовое поле любой страницы вставлялся бы текст. Как добавить пункт в контекстное меню нашел сравнительно быстро. А вот написать соответствующий скрипт не получается - буксую. Может кто-то помочь?

Kvarx 10.08.2006 16:43

<form name=FORM>
<input type=text name=txt>
<input type=button onclick='click_input'>
</form>

<script>
function click_input(){
document.FORM.txt.value="текст";
}
</script>

должно так работать

KomatoZo 10.08.2006 17:17

то есть вот это вот в таком именно виде позволит мне по нажатию вставить текст в любое поле над которым я это действие произвожу??? Хммм... попробую, хотя непонятно мне в таком случае как это происходит =)

Псих 10.08.2006 18:50

Kvarx а не будет!

1. Измени имя формы. на такое название которое не может интерпритироваться как "техническое слово"
2. все параметры нужно брать в кавычки.
3.
Цитата:

Kvarx:
onclick='click_input
вообще-то методы вызываются c ()
onclick = 'click_input()'

Kvarx 11.08.2006 00:24

Цитата:

Сообщение от Псих
2. все параметры нужно брать в кавычки.

Ну это вроде совсем не обязательно.

Кавычки, да забыл, просто спешил очень.

KomatoZo 11.08.2006 09:11

Нет. Это не совсем то. Вот что я себе представляю (если не правильно представляю - поправьте):
1) Есть страничка IE с нужным нам текстовым полем
2) жмем правой кнопкой в этом поле - получаем котекстное меню, в котором есть пункт "Вставить текст про Муму"
3) этот пункт я уже сопоставил со скриптом echo_Mumu.vbs (ну или .hta - кажется, так более правильно)
4) по запуску скрипта он (скрипт) должен определить из какого поля странички он запустился
5) положить в поле, определенное в п.4 какой-то текст.

Так вот, проблема у меня именно с п.4. Я не знаю как это сделать, и можно ли это сделать вообще. Если бы я знал точно, что это за поле, тогда, может быть, получилось бы, а так - ХЗ.

Псих 11.08.2006 09:48

ничего не понятно, Что тебе толком надо..
класть введенный тобой текст в ячейку которую ты выберь руками?

KomatoZo 11.08.2006 09:56

Псих
Именно.

Псих 11.08.2006 11:05

У кажого елемента, стало быть у текстового поля есть тригер, стало быть radioButton с id
форма:
Код:

<form name="theForm">
<input type="text"  name="text1"/>
<input type="radio" id="txt1" />
<br />
<input type="text"  name="text2"/>
<input type="radio" id="txt2" />
<br />
<h1>Место для ввода значения</h1>
<input type="text" name="place"/>
<p>
<input type="button" onClick='set_value()' value="Установить"/>
</p>
</form>

событие onclick=''
Код:

function set_value(){
if(txt1){
document.theForm.text1.value = document.theForm.place.value;
}
else{
document.theForm.text2.value = document.theForm.place.value;
}
}

Скорее всего есть ошибки.. я писал прямо на форум без тестирования и проверки синтаксиса, а js я знаю не очень.. Поэтому код плоский...

KomatoZo 11.08.2006 11:14

ХЫх... Как жеж тяжело программеру понять меня бедного =))))) Шутка.
Я же еще раз говорю: не моя страничка. Страничка может быть авторизацией на Imho.ws, или на MS или вообще левой страничкой с текстовым полем. И скрипт не в страничке, а сам по себе, лежит у меня на машине. И я должен запустить его нажатием правой кнопки, а он определить откуда я его запустил и зафиндилить в это "откуда" какой-нибудь текст =) Вот так это сделать можно??? =)

Псих 11.08.2006 11:33

Блин... улыбаться иди в раздел Программирование.
Я шапку сразу не прочел про ие..
на вебе такое не написать. Только может быть на сценариях

RaZEr 11.08.2006 11:42

Цитата:

на вебе такое не написать. Только может быть на сценариях
В ИЕ есть возможность по пункту контекстного меню запускать html/js.

PS: Подробности на MSDN.

Псих 11.08.2006 12:02

RaZEr
помоему проще юзать RoboForm и не парить себе мозги

KomatoZo 11.08.2006 12:07

RaZEr
Я сюда обратился именно за подробностями. Точнее, если возможно, за образцом кода. Я не прграммист и в MSDN для меня большая часть написанного - просто тарабарщина.
Псих
Уважаемый. Не нужно мне советовать такое. Если вы не в состоянии ее решить, то лучше помолчите. Про roboform я и сам в курсе, но нужно именно самописное решение. Особенно, если учитывать, что само по себе оно должно быть не сложным. Просто опять-таки - не та ветка.

RaZEr 11.08.2006 12:09

2 Псих: Вообще зависит от поставленной цели. Хотя конечно проще установить что-то готовое чем придумывать своё.

KomatoZo 11.08.2006 12:13

Ыыыыы!!! Ну в самом же начале сказал - "поставлена задача". Скрипт будет крутиться на предприятии. Нужен для вставления одной и той же строчки в любое web-поле. Покупать для этого Roboform на все предприятие = стрелять из пушки по микробам. Программиста нет. Меня просто товарищ попросил написать, а задача мне самому не по зубам. Поэтому прошу помощи =)
Так понятно? Есть наметки? Мне кажется, что все таки придется писать какой-то activeX, но кажется это на уровне спинного мозга, так как я ламер в этом деле полный =)

RaZEr 11.08.2006 12:14

Цитата:

Я сюда обратился именно за подробностями. Точнее, если возможно, за образцом кода. Я не прграммист и в MSDN для меня большая часть написанного - просто тарабарщина.
Тогда нужно обратиться к специалисту. Или операцию на сердце ты себе тоже сам делать будешь?...

KomatoZo 11.08.2006 12:17

Так я и обращаюсь к специалистам. Или тут таких нет? ;)
Если это настолько сложно, что требует оплаты (хотя мнится мне, что для написания этого нормальному программеру потребуется только спинной мозг. Но опять-таки могу ошибиться =) ), то так и скажите. От Вас не убудет и Вам не прибудет. На оплату бюджета все равно нету =)
К тому же интересно самому разобраться. Программить по серьёзному я не собираюсь, но иметь возможность написать что-нибудь простенькое вместо покупки супермонстра не помешает.

Псих 11.08.2006 14:18

KomatoZo
Цитата:

KomatoZo:
К тому же интересно самому разобраться.
Так к чему же тогда тут специалисты. Тебе подсказали. бери и разбирайся!

KomatoZo 11.08.2006 15:26

Псих
Поясняю. Мне нужен первый толчок: как получить в моем скрипте или объекте ActivX объект документа?
На этот вопрос ответ будет? Или закрываем тему? =)

Всем спасибо, все свободны =)

Скрипт, что-то а-ля это:
Код:

<SCRIPT LANGUAGE = "JavaScript">

// Get the window object where the context menu was opened.
var oWindow = window.external.menuArguments;

// Get the document object exposed through oWindow.
var oDocument = oWindow.document;

// Get the selection from oDocument.
// in oDocument.
var oSelect = oDocument.selection;

// Create a TextRange from oSelect.
var oSelectRange = oSelect.createRange();

// Get the text of the selection.
var sNewText = oSelectRange.text;

// If nothing was selected, insert some text.
if (sNewText.length == 0){
  oSelectRange.text = "INSERT TEXT";
}

// Otherwise, convert the selection to uppercase.
else{
  oSelectRange.text = sNewText.toUpperCase();
}
</SCRIPT>

Все-таки нашел в себе силы разобраться в MSDN, хотя с непривычки трудно.
Правда, всем спасибо, тему закрываем =)


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

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