За последние 24 часа нас посетили 17759 программистов и 1625 роботов. Сейчас ищут 1255 программистов ...

Передача данных JS между фреймами...

Тема в разделе "JavaScript и AJAX", создана пользователем EvelRus, 28 июн 2008.

  1. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    1) Значит есть фрейм с именем chat
    2) Значит есть фрейм с именем messages
    В 1 есть код
    HTML:
    1. <a href="#" onClick="document.getElementById('message').value = this.innerHTML; return false;" target"messages">[16:12:07]</a>
    который вставляет значение под ссылкой в форму с именем message, НО эта форма находится во фрейме 2... как их подружить? )) Вроде я сделал Таргет, но не помогло :(((

    Задача: При нажатии на время в чате, оно должно появляться в строке ввода текста в формате: "см. [16:12:07]"
    В родном окне все нормально работает :(
     
  2. Johnatan

    Johnatan Активный пользователь

    С нами с:
    6 мар 2008
    Сообщения:
    508
    Симпатии:
    0
    Адрес:
    Испания
    [js]window.frames['messages'].document.getElementById('message').value = this.innerHTML;[/js]

    Хотя это не самый правильный вариант. Зато самый лёгкий.
     
  3. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
     
  4. Johnatan

    Johnatan Активный пользователь

    С нами с:
    6 мар 2008
    Сообщения:
    508
    Симпатии:
    0
    Адрес:
    Испания
    Nemo
    Эм... ты про что?
     
  5. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Таже бага с другими вещами :(( Типа
    HTML:
    1. <textarea rows="2" name="message" cols="35" id="message" onKeyPress = "if (event.keyCode==10 || (event.ctrlKey && event.keyCode==13)) {document.post.post.click();}"></textarea>
    Тоже такую фигню выдает.. только с другим текстом... но тоже null Хотя все верно, все работает нормально, вне чата :(
     
  6. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Johnatan
    Это он мне такую ошибку выдает... при нажатии на ссылку...
     
  7. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
  8. Johnatan

    Johnatan Активный пользователь

    С нами с:
    6 мар 2008
    Сообщения:
    508
    Симпатии:
    0
    Адрес:
    Испания
    Извини, ты наверное топиком ошибся? Я тебе чего написал? А ты мне что написал? Сравни две строчки....
     
  9. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    он сам их так меняет :((
    Вот код
    PHP:
    1. <?   echo ('<a href="#" onClick="window.frames[\'messages\'].document.getElementById(\'message\').value = this.innerHTML; return false;"><font color="0000FF">['.htmlspecialchars($element[0]).']</font></a> > '.htmlspecialchars($element[1]).': '.htmlspecialchars($element[2]).' -> '.$element[3].'<br>');?>
     
  10. Johnatan

    Johnatan Активный пользователь

    С нами с:
    6 мар 2008
    Сообщения:
    508
    Симпатии:
    0
    Адрес:
    Испания
    а фреймы ты как создаёшь?
     
  11. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    HTML:
    1. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    2. <meta http-equiv="Content-Language" content="ru">
    3. <title>наш чат</title>
    4. </head>
    5. <frameset rows="20,*" border="0">
    6. <frame name="menu" marginheight="20" scrolling="no" src="menu.php" noresize border="0">
    7. <frameset cols="80%,*" border="0">
    8. <frameset rows="37%,70,150" border="0">
    9. <frame name="main" scrolling="auto" src="chat.php">
    10. <frame scrolling="no" name="messages" src="mess.php">
    11. <frame scrolling="auto" name="privat" src="privat.php">
    12. </frameset>
    13. <frame name="user" src="user.php" scrolling="auto" target="_self">
    14. </frameset>
    15. </frameset>
    16. </html>
     
  12. Ti

    Ti Активный пользователь

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
    вместо window - parent - в нем описаны феймы

    Nemo
    Какой толк задавать вопросы по самым элементарным вещам?
    Без прочтения букваря нормальный чат Вы не напишите.
     
  13. dAllonE

    dAllonE Guest

    Если честно вообще не понимаю зачем для создания чата мучать несчастные фреймы... Мы же не в 98-м году...
    Имхо будет куда проще и полезнее изучить AJAX. Да и трафика пустого будет меньше гоняться.
     
  14. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Для этого надо изучить JS

    Эллементарные они для тебя!
     
  15. dAllonE

    dAllonE Guest

    Nemo, это он к тому, что если нет какой-то базы то никакие советы в мозг нормально не улягутся. И вам придется спрашивать их снова и снова... Вам оно надо? ;)
     
  16. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    dAllonE,не... врятли найдешь одни и теже вопросы от меня ;))) Я обычно использую то. что получил... и спрашиваю если совсем не понимаю...
    я гуманитарий, а не математик, потому мне сложно, порой, правильно составить запрос, потому и спрашиваю... но не переспрашиваю ;)
     
  17. Ti

    Ti Активный пользователь

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
    а еще к тому что дерзко задавать вопросы, ответы на которые есть в мануале
     
  18. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Ti, тут, мб, и прав ))))
     
  19. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    снова проблема... этот код очищает форму перед вставкой... как этого избежать?
    Нужно что бы вствлялось: "см. [то, что под ссылкой]"
    Форма надоходится в другом фрейме.. ссылка в "main", форма в "messages"
     
  20. Johnatan

    Johnatan Активный пользователь

    С нами с:
    6 мар 2008
    Сообщения:
    508
    Симпатии:
    0
    Адрес:
    Испания
    Прибавь новое значение к уже существующему.
    типа this.value = this.value + ' [то, что под ссылкой]'.
     
  21. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    HTML:
    1. <a target"messages" href="#" onClick="parent.frames['messages'].document.getElementById('message').value = parent.frames['messages'].document.getElementById('message').value + 'см.' + this.innerHTML + ' '; return false;">сцЫлко</a>
    Сделал :)
    Вернее помогли :))

    Выкладываю для желающих :)
     
  22. Nazorei

    Nazorei Активный пользователь

    С нами с:
    1 фев 2007
    Сообщения:
    228
    Симпатии:
    0
    а не легче просто
    top.nameframe.document. или parent.nameframe.document. ?
     
  23. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Nazorei, полный код, пожалуйста!
     
  24. Nazorei

    Nazorei Активный пользователь

    С нами с:
    1 фев 2007
    Сообщения:
    228
    Симпатии:
    0
    Код (Text):
    1.  
    2. href="#" onClick="parent." // так не делается
    3.  
    4. // лучше функцией:
    5.  
    6. href=javascript:myfunc()
    7.  
    8.  
    9. ----
    10. function myfunc()
    11. {
    12.  parent.messages.document.getElementById('message').value = "";
    13. }
     
  25. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    И опять же ваш код ОЧИЩАЕТ поле перед занесением в него данных. а мне надо добавление!!!!