Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Вставка смайликов

Сообщения:  [1-9] 

 
 автор: midav   (23.01.2006 в 00:59)   письмо автору
 
   для: Евгений Петров   (22.01.2006 в 01:33)
 

Евгений Петров спасибо большое, уже не первый раз выручаете! Все сделал, все работает :) Если что заходите полюбоваться http://midav.ilva.lv

   
 
 автор: Евгений Петров   (22.01.2006 в 01:33)   письмо автору
 
   для: midav   (21.01.2006 в 00:58)
 

Значит смотрите! Все очень просто:
Рассмотрим простейший пример:
Допустим у нас на странице не столько фреймов сколько у Вас, а всего 2: один фрейм с формой для ввода сообщения (top_frame), а другой для выбора смайликов (bottom_frame):
<frameset rows='50%,50%'>
  <frame name=top_frame src='top.htm'>
  <frame name=bottom_frame src='bottom.htm'>
</frameset>

В top.htm (top_frame) помещаем форму ввода сообщения:
<form name="sendform">
<input type="text" name="message">
</form>

В bottom.htm (bottom_frame) ссылку на открывающееся окно со смайликами:
<a href="#" OnClick=window.open("smiles.htm","Смайлики","Width=428,Height=600")>Смайлики</a>

Теперь осталось только написать код для самого окна со смайликами:
<script language="JavaScript">
  function SetSmile(smile)
  {
    opener.top.top_frame.sendform.message.value = smile;
    self.close(); 
  }
</script>
<a href="javascript: SetSmile(':)')">:)</a>

Теперь обьясняю:
SetSmile принимает один параметр - это текстовое отображение смайлика работает она так:
opener - это окно из которого было открыто данное окно (bottom.htm), top - это родительский фрейм (index.htm) top_frame - это фрейм относительно index.htm в котором форма ввода ссобщения, sendform - имя формы, message - имя компонента для ввода сообщения.
Все о чем я тут написал в аттаче

   
 
 автор: midav   (22.01.2006 в 01:30)   письмо автору
 
   для: codexomega   (21.01.2006 в 16:49)
 

не знаю чего за фигня, но как то не идет! Может надо какую нибудь другую функцию а не ту которую я показал?

   
 
 автор: codexomega   (21.01.2006 в 16:49)   письмо автору
 
   для: midav   (21.01.2006 в 12:55)
 


obj = opener.frames["bottomframe"].document.имя_формы.msg;

   
 
 автор: midav   (21.01.2006 в 12:55)   письмо автору
 
   для: codexomega   (21.01.2006 в 02:12)
 

Да вот как то не получается! Походу надо добавить в каком фрейме находиться форма?
форма у меня находиться в bottomframe

   
 
 автор: codexomega   (21.01.2006 в 02:12)   письмо автору
 
   для: midav   (21.01.2006 в 01:41)
 

parent_form_name и child_form_name ничего общего с яваскриптом не имеют:)
Это своего рода пояснение кода без комментариев (название формы родительского окна и дочерьнего).

Данный код ставится в окно со смайликами.

<script language="JavaScript"> 
  function setSmile(symbol) { 
    obj = opener.document.имя_формы.msg; 
    obj.value = obj.value + symbol; 
    obj.focus(); 
    self.close();
  } 
</script>


Вроде как все..

   
 
 автор: midav   (21.01.2006 в 01:41)   письмо автору
 
   для: codexomega   (21.01.2006 в 01:21)
 

Не плохо было бы пояснить что за parent_form_name, child_form_name и как это можно применить на этой функции

<script language="JavaScript">

  function setSmile(symbol) {
    obj = opener.document.msg;
    obj.value = obj.value + symbol;
    obj.focus();
  }
</script>

   
 
 автор: codexomega   (21.01.2006 в 01:21)   письмо автору
 
   для: midav   (21.01.2006 в 00:58)
 

Передать значение из открывающегося окна в родительское надо так:

opener.document.parent_form_name.input_name.value = document.child_form_name.input_name.value;
self.close();

   
 
 автор: midav   (21.01.2006 в 00:58)   письмо автору
 
 

В чате столкнулся с такой проблемой: нужно из открывающегося окна со смайликами при нажатии на смайлик отсылать его код в форму чата (msg)!
Чат у меня имеет такой вид (сама форма это chatforma.php)

<frameset framespacing='0' border='0' rows='60,350,30' cols='360,100' frameborder='0'>
<frame name=screen scrolling='no' noresize target='contents' src='chattop.php'>
<frame name=screen scrolling='no' noresize target='contents' src='chattopright.php'>
<frame name=bodyframe scrolling='auto' noresize target='contents' src='chat.php'>
<frame name=screen scrolling='no' noresize target='contents' src='chatmiddle.php'>
<frame name=bottomframe scrolling='no' noresize target='contents' src='chatforma.php'>
<frame name=screen scrolling='no' noresize target='contents' src='chatbottom.php'>
<noframes>
<body>
<p>Страница использует фреймы, но ваш сервер их не принимает</p>
</body>
</noframes>
</frameset>


Сама форма в чате

<form action='chatsend.php' method=post name=bottomform onSubmit='msg.focus(); msg.select()'>
<input type=text name=private class=post size=15>
<input type=text name=msg class=post size=60>
<input type=reset class=post value='Сбросить'> 
<input type=submit name=SUBMIT class=post value='Добавить'>
</form>


окно со смайлами открываю так


<a href='#' class=a1 onClick='javascript:window.open(\"chatsmiles.php\",\"Смайлики\",\"Width=428,Height=600,toolbar=0,status=1,border=0,scrollbars=1\")'>Смайлики</a>

   

Сообщения:  [1-9] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования