Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
weboman
210 / 195 / 63
Регистрация: 13.08.2010
Сообщений: 1,531
Записей в блоге: 6
1

Как из javascript обратиться к конкретному полю веб-документа?

06.12.2010, 22:59. Показов 2051. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
вот у меня есть файл со смайликами, я хочу добавить событие onclick на каждый из них и чтобы это событие приводило к вставке кода смайлика в другую форму, в которой есть Type INPUT='text' VALUE='*****---вот сюда код смайлика, допустим <3>'!?
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<HTML>
<HEAD>
<META NAME="Generator" CONTENT="Macro HTML 1.40 beta">
<SCRIPT LANGUAGE="JavaScript">
<!--
function insertsmile(dat)
{
window.parent.send.sendform.message.focus();
window.parent.send.sendform.message.value += dat+' ';
}
//-->
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#8caae6">
<CENTER>
<A HREF="javascript:insertsmile('<1>')"><IMG SRC="1.gif" BORDER=0></A><P>
<A HREF="javascript:insertsmile('<2>')"><IMG SRC="2.gif" BORDER=0></A><P>
<A HREF="javascript:insertsmile('<3>')"><IMG SRC="3.gif" BORDER=0></A><P>
<A HREF="javascript:insertsmile('<4>')"><IMG SRC="4.gif" BORDER=0></A><P>
<A HREF="javascript:insertsmile('<5>')"><IMG SRC="5.gif" BORDER=0></A><P>
<A HREF="javascript:insertsmile('<6>')"><IMG SRC="6.gif" BORDER=0></A><P>
<A HREF="javascript:insertsmile('<7>')"><IMG SRC="7.gif" BORDER=0></A><P>
<A HREF="javascript:insertsmile('<8>')"><IMG SRC="8.gif" BORDER=0></A><P>
<A HREF="javascript:insertsmile('<9>')"><IMG SRC="9.gif" BORDER=0></A><P>
<A HREF="javascript:insertsmile('<10>')"><IMG SRC="10.gif" BORDER=0></A><P>
</CENTER>
</BODY>
как видно здесь задействована фун-ия insertsmile, но как сделать чтобы при клике на смайлик вставлялся код его <3> в VALUE текста???
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.12.2010, 22:59
Ответы с готовыми решениями:

Как обратиться к нужному полю?
Всем доброго времени суток. Вот столкнулась с проблемой, никак не разберусь: контроллер возвращает...

Как обратиться к полю по имени?
именно по имени, не по классу или id... есть фрагмент формы: &lt;div class=&quot;control-group&quot;&gt; ...

Обратиться к конкретному дочернему меню
Добрый день! Есть боковое меню на сайте dsjj. ru , на нем по умолчанию дочерние пункты раскрыты,...

Как обратиться к полю Parent-a из Response документа ?
Подскажите люди добрые. Как обратиться к полю parent-a из response документа ? Задача, что бы при...

10
46 / 46 / 10
Регистрация: 08.12.2010
Сообщений: 105
08.12.2010, 21:30 2
Прицепи jQuery - JavaScript-фреймворк
-------------

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<HTML>
 
<HEAD>
<META NAME="Generator" CONTENT="Macro HTML 1.40 beta">
</HEAD>
 
<BODY BGCOLOR="#8caae6">
<script type="text/javascript" src="/js/jquery.js"></script>      <!-- подключаем jQuery-->
<script type="text/javascript">
  jQuery(document).ready(function(){
    jQuery(.smiles').click(function(){
      smile_code = jQuery(this).attr('title');
      jQuery('#usertext').attr({value:smile_code});
    });
  });
</script>
 
<CENTER>
<A class="smiles" HREF="#" title="<1>"><IMG SRC="1.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<2>"><IMG SRC="2.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<3>"><IMG SRC="3.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<4>"><IMG SRC="4.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<5>"><IMG SRC="5.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<6>"><IMG SRC="6.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<7>"><IMG SRC="7.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<8>"><IMG SRC="8.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<9>"><IMG SRC="9.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<10>"><IMG SRC="10.gif" BORDER=0 /></A><P>
</CENTER>
<input id="usertext" name="usertext" type="text" value=""  />
</BODY>
 
</HTML>
0
weboman
210 / 195 / 63
Регистрация: 13.08.2010
Сообщений: 1,531
Записей в блоге: 6
08.12.2010, 21:50  [ТС] 3
Цитата Сообщение от Артем Д. Посмотреть сообщение
Прицепи jQuery - JavaScript-фреймворк
-------------
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<HTML>
 
<HEAD>
<META NAME="Generator" CONTENT="Macro HTML 1.40 beta">
</HEAD>
 
<BODY BGCOLOR="#8caae6">
<script type="text/javascript" src="/js/jquery.js"></script>      <!-- подключаем jQuery-->
<script type="text/javascript">
  jQuery(document).ready(function(){
    jQuery(.smiles').click(function(){
      smile_code = jQuery(this).attr('title');
      jQuery('#usertext').attr({value:smile_code});
    });
  });
</script>
 
<CENTER>
<A class="smiles" HREF="#" title="<1>"><IMG SRC="1.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<2>"><IMG SRC="2.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<3>"><IMG SRC="3.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<4>"><IMG SRC="4.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<5>"><IMG SRC="5.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<6>"><IMG SRC="6.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<7>"><IMG SRC="7.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<8>"><IMG SRC="8.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<9>"><IMG SRC="9.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<10>"><IMG SRC="10.gif" BORDER=0 /></A><P>
</CENTER>
<input id="usertext" name="usertext" type="text" value=""  />
</BODY>
 
</HTML>
хмм, кликаю на смайлик но даже в твоем INPUT TYPE="text" ничего не появляется, может все дело в структуре моего веб документа, а она такова:
ФРЕЙМ с именем send
ФОРМА sendform
INPUT TYPE="text" NAME="message" и в его значение VALUE надо и добавить код смайлика.
чат без смайлов -не чат!
0
46 / 46 / 10
Регистрация: 08.12.2010
Сообщений: 105
08.12.2010, 22:11 4
Цитата Сообщение от AlienNation Посмотреть сообщение
хмм, кликаю на смайлик но даже в твоем INPUT TYPE="text" ничего не появляется, может все дело в структуре моего веб документа, а она такова:
ФРЕЙМ с именем send
ФОРМА sendform
INPUT TYPE="text" NAME="message" и в его значение VALUE надо и добавить код смайлика.
чат без смайлов -не чат!
jQuery скачал и подключил? -
HTML5
1
<script type="text/javascript" src="/js/jquery.js"></script>
Если подключил, вставь: alert ('Ок'); после строки: smile_code = jQuery(this).attr('title');
Вот так должно быть:
HTML5
1
2
3
4
5
6
7
8
9
<script type="text/javascript">
  jQuery(document).ready(function(){
    jQuery(.smiles).click(function(){
      smile_code = jQuery(this).attr('title');
      alert (smile_code);
      jQuery('#usertext').attr({value:smile_code});
    });
  });
</script>
И если при нажатии на, например смайлик с кодом <1>, вылезет сообщение "<1>", то скрипт работает. Если ничего не вылезет, возможно не подключен jQuery. Попробуй и отпишись...

Добавлено через 1 минуту
А блин, сорри, только сейчас заметил ошибку в своем коде:
HTML5
1
2
3
4
5
6
7
8
<script type="text/javascript">
  jQuery(document).ready(function(){
    jQuery(.smiles').click(function(){
      smile_code = jQuery(this).attr('title');
      jQuery('#usertext').attr({value:smile_code});
    });
  });
</script>
замени на
HTML5
1
2
3
4
5
6
7
8
<script type="text/javascript">
  jQuery(document).ready(function(){
    jQuery('.smiles').click(function(){
      smile_code = jQuery(this).attr('title');
      jQuery('#usertext').attr({value:smile_code});
    });
  });
</script>
0
weboman
210 / 195 / 63
Регистрация: 13.08.2010
Сообщений: 1,531
Записей в блоге: 6
08.12.2010, 22:29  [ТС] 5
Цитата Сообщение от Артем Д. Посмотреть сообщение
jQuery скачал и подключил? -
HTML5
1
<script type="text/javascript" src="/js/jquery.js"></script>
Если подключил, вставь: alert ('Ок'); после строки: smile_code = jQuery(this).attr('title');
Вот так должно быть:
HTML5
1
2
3
4
5
6
7
8
9
<script type="text/javascript">
  jQuery(document).ready(function(){
    jQuery(.smiles).click(function(){
      smile_code = jQuery(this).attr('title');
      alert (smile_code);
      jQuery('#usertext').attr({value:smile_code});
    });
  });
</script>
И если при нажатии на, например смайлик с кодом <1>, вылезет сообщение "<1>", то скрипт работает. Если ничего не вылезет, возможно не подключен jQuery. Попробуй и отпишись...

Добавлено через 1 минуту
А блин, сорри, только сейчас заметил ошибку в своем коде:
HTML5
1
2
3
4
5
6
7
8
<script type="text/javascript">
  jQuery(document).ready(function(){
    jQuery(.smiles').click(function(){
      smile_code = jQuery(this).attr('title');
      jQuery('#usertext').attr({value:smile_code});
    });
  });
</script>
замени на
HTML5
1
2
3
4
5
6
7
8
<script type="text/javascript">
  jQuery(document).ready(function(){
    jQuery('.smiles').click(function(){
      smile_code = jQuery(this).attr('title');
      jQuery('#usertext').attr({value:smile_code});
    });
  });
</script>
в принципе получилось, но хотелось бы конечно все-таки достучаться к моему фрейму и форме, кстати, а можно ли сделать так чтобы несколько сразу смайликов вставлялось, а то я один ставлю, хочу добавить к нему 2-ой, но он не добавляется, а заменяет 1-ый, да и вообще весь текст пропадает!?
0
46 / 46 / 10
Регистрация: 08.12.2010
Сообщений: 105
08.12.2010, 22:42 6
Цитата Сообщение от AlienNation Посмотреть сообщение
в принципе получилось, но хотелось бы конечно все-таки достучаться к моему фрейму и форме, кстати, а можно ли сделать так чтобы несколько сразу смайликов вставлялось, а то я один ставлю, хочу добавить к нему 2-ой, но он не добавляется, а заменяет 1-ый, да и вообще весь текст пропадает!?
Можно вот так:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<HTML>
 
<HEAD>
<META NAME="Generator" CONTENT="Macro HTML 1.40 beta">
</HEAD>
 
<BODY BGCOLOR="#8caae6">
<script type="text/javascript" src="/test/jquery.js"></script>      <!-- подключаем jQuery-->
<script type="text/javascript">
  jQuery(document).ready(function(){
    jQuery('.smiles').click(function(){
      mess = jQuery('input[name=message]').val();
      smile_code = jQuery(this).attr('title');
      mess = mess+' '+smile_code;
      jQuery('input[name=message]').attr({value:mess});
    });
  });
</script>
 
<CENTER>
<A class="smiles" HREF="#" title="<1>"><IMG SRC="1.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<2>"><IMG SRC="2.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<3>"><IMG SRC="3.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<4>"><IMG SRC="4.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<5>"><IMG SRC="5.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<6>"><IMG SRC="6.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<7>"><IMG SRC="7.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<8>"><IMG SRC="8.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<9>"><IMG SRC="9.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<10>"><IMG SRC="10.gif" BORDER=0 /></A><P>
</CENTER>
<input name="message" type="text" value=""  />
</BODY>
 
</HTML>
0
weboman
210 / 195 / 63
Регистрация: 13.08.2010
Сообщений: 1,531
Записей в блоге: 6
09.12.2010, 01:04  [ТС] 7
Цитата Сообщение от Артем Д. Посмотреть сообщение
Можно вот так:
Код
<HTML>
 
<HEAD>
<META NAME="Generator" CONTENT="Macro HTML 1.40 beta">
</HEAD>
 
<BODY BGCOLOR="#8caae6">
<script type="text/javascript" src="/test/jquery.js"></script>      <!-- подключаем jQuery-->
<script type="text/javascript">
  jQuery(document).ready(function(){
    jQuery('.smiles').click(function(){
      mess = jQuery('input[name=message]').val();
      smile_code = jQuery(this).attr('title');
      mess = mess+' '+smile_code;
      jQuery('input[name=message]').attr({value:mess});
    });
  });
</script>
 
<CENTER>
<A class="smiles" HREF="#" title="<1>"><IMG SRC="1.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<2>"><IMG SRC="2.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<3>"><IMG SRC="3.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<4>"><IMG SRC="4.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<5>"><IMG SRC="5.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<6>"><IMG SRC="6.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<7>"><IMG SRC="7.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<8>"><IMG SRC="8.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<9>"><IMG SRC="9.gif" BORDER=0 /></A><P>
<A class="smiles" HREF="#" title="<10>"><IMG SRC="10.gif" BORDER=0 /></A><P>
</CENTER>
<input name="message" type="text" value=""  />
</BODY>
 
</HTML>
все-таки мне надо в фрейм попасть этим смайлом, я вот так примерно делаю:
Javascript
1
2
3
4
5
6
7
8
9
10
11
<script type="text/javascript" src="jquery-1.4.3.min.js"></script> <!-- ?????????? jQuery-->
<script type="text/javascript">
  jQuery(document).ready(function(){
    jQuery('.smiles').click(function(){
      mess = jQuery('FRAME[name='send'].FORM[name='sendform'].input[name=message]').val();
      smile_code = jQuery(this).attr('title');
      mess = mess+' '+smile_code;
      jQuery('FRAME[name='send'].FORM[name='sendform'].input[name=message]').attr({value:mess});
    });
  });
</script>
это явно криво и работать не хочет, но это только по моим догадкам, а как все-таки правильней?
0
46 / 46 / 10
Регистрация: 08.12.2010
Сообщений: 105
09.12.2010, 04:18 8
Цитата Сообщение от AlienNation Посмотреть сообщение
все-таки мне надо в фрейм попасть этим смайлом, я вот так примерно делаю:
Javascript
1
2
3
4
5
6
7
8
9
10
11
<script type="text/javascript" src="jquery-1.4.3.min.js"></script> <!-- ?????????? jQuery-->
<script type="text/javascript">
  jQuery(document).ready(function(){
    jQuery('.smiles').click(function(){
      mess = jQuery('FRAME[name='send'].FORM[name='sendform'].input[name=message]').val();
      smile_code = jQuery(this).attr('title');
      mess = mess+' '+smile_code;
      jQuery('FRAME[name='send'].FORM[name='sendform'].input[name=message]').attr({value:mess});
    });
  });
</script>
это явно криво и работать не хочет, но это только по моим догадкам, а как все-таки правильней?
Javascript
1
2
3
<script type="text/javascript">
  jQuery(document).ready(function(){
    jQuery('.smiles').click(function(){
Вешает событие "клик" на объекты с классом "smiles". В нашем случае это <a class="smiles" href="#">...</a>

Javascript
1
      mess = jQuery('input[name=message]').val();
Присваивает переменной "mess" значение поля "input" с именем "message", в нашем случае это <input type="text" name="message" />

Javascript
1
      smile_code = jQuery(this).attr('title');
Присваивает переменной "smile_code" значение атрибута "tittle" в теге <a>.

Javascript
1
      mess = mess+' '+smile_code;
Тут думаю понятно

Javascript
1
      jQuery('input[name=message]').attr({value:mess});
Выводит в твое поле <input type="text" name="message" /> значение переменной "mess", в которой содержится уже ранее введенный текст и код смайлика.

Javascript
1
2
3
    });
  });
</script>

"mess = jQuery('FRAME[name='send'].FORM[name='sendform'].input[name=message]').val();"
- не верно.
mess = jQuery('input[name=message]').val();
- так верно - ищет во всей странице поле input с именем "message" и берет из него значение. Т.е. не надо указывать, что input находится во фрейме, скрипт будет искать input с именем "message" по всей загруженной странице.
0
weboman
210 / 195 / 63
Регистрация: 13.08.2010
Сообщений: 1,531
Записей в блоге: 6
09.12.2010, 16:22  [ТС] 9
Цитата Сообщение от Артем Д. Посмотреть сообщение
mess = jQuery('input[name=message]').val();
- так верно - ищет во всей странице поле input с именем "message" и берет из него значение. Т.е. не надо указывать, что input находится во фрейме, скрипт будет искать input с именем "message" по всей загруженной странице.
все делаю как ты сказал, но безрезультатно. (у тебя есть Агент или SKYPE), я тебе могу показать через TeamViewer 5.
0
46 / 46 / 10
Регистрация: 08.12.2010
Сообщений: 105
10.12.2010, 06:43 10
Цитата Сообщение от AlienNation Посмотреть сообщение
все делаю как ты сказал, но безрезультатно. (у тебя есть Агент или SKYPE), я тебе могу показать через TeamViewer 5.
пиши на аську, что-нибудь придумаем.

Добавлено через 14 часов 12 минут
Победил я твою проблему! =)
Вот:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<script type="text/javascript">
    jQuery( function() {
        var sframe;
        jQuery('#send').load( function(){
          sframe = jQuery(this.contentDocument);
        });
 
        jQuery('#smiles').load( function(){
          jQuery(this.contentDocument).find('body').find('.smiles').click(function(){
              mess = sframe.find('body').find('#message').val();
              smile_code = jQuery(this).attr('title');
              mess = mess+' '+smile_code;
              sframe.find('body').find('#message').attr({value:mess});
          });
        });
    });
</script>
Пиши мне в аську, объясню чего куда вставить и где поменять.
0
weboman
210 / 195 / 63
Регистрация: 13.08.2010
Сообщений: 1,531
Записей в блоге: 6
10.12.2010, 19:51  [ТС] 11
Цитата Сообщение от Артем Д. Посмотреть сообщение
пиши на аську, что-нибудь придумаем.

Добавлено через 14 часов 12 минут
Победил я твою проблему! =)
Вот:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<script type="text/javascript">
    jQuery( function() {
        var sframe;
        jQuery('#send').load( function(){
          sframe = jQuery(this.contentDocument);
        });
 
        jQuery('#smiles').load( function(){
          jQuery(this.contentDocument).find('body').find('.smiles').click(function(){
              mess = sframe.find('body').find('#message').val();
              smile_code = jQuery(this).attr('title');
              mess = mess+' '+smile_code;
              sframe.find('body').find('#message').attr({value:mess});
          });
        });
    });
</script>
Пиши мне в аську, объясню чего куда вставить и где поменять.
ну как ты уже увидел я смайлы окном в том же фрейме сделал, но мне все-таки надо понять как между фреймами работать и передавать данные из 1-го фрейма в другой, щас почитаю этот скрипт, мжет че-нть из него выцеплю полезного.
0
10.12.2010, 19:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.12.2010, 19:51
Помогаю со студенческими работами здесь

Как обратиться к конкретному textBox?
Доброго времени суток! На форме Form1 есть таблица tableLayoutCollection1, в которой находятся 6...

Как обратиться к конкретному элементу массива?
не понимаю, как используя дженерики, вывести конкретный элемент массива. в виде: номер...

Есть строка неизвестной длины. Как можно обратиться к конкретному элементу строки?
Есть строка неизвестной длины. Как можно обратиться к конкретному элементу строки? Почему не...

как обратиться к полю?
Люди помогите!!! Провожу интеграцию 1Сv81 с lotus, и мне нужно обратиться к полю в 1С через его...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru