Передать текст из одного поля в другое
|
|
Бывалый
398 сообщений
Мужчина
|
Привет. У меня есть такой код: Code <table><tr> <td style="width: 200px"> Тег клана: <br /> Сайт клана (не обязательно): <br /> Steam CL'а клана (логин): <br /> Skype CL'а клана: <br /> </td> <td> <input type="text" id="teamName" value="---" /><br /> <input type="text" id="teamSite" value="---" /><br /> <input type="text" id="teamSteam" value="---" /><br /> <input type="text" id="teamSkype" value="---" /><br /> </td> </tr></table>
<button id="teamInsertMessForm">OK</button>
и одно текстовое поле:
Code <textarea dir="ltr" tabindex="-1" role="textbox" aria-label="Rich text editor, editor_50be3900d862c, press ALT 0 for help." class="cke_source cke_enable_context_menu" style="width: 100%; height: 100%; resize: none; outline: none; text-align: left;"></textarea>
Суть в том, что мне нужно по нажатию кнопки ОК передать значения вышеуказанных инпутов в текстовое поле.
У меня есть предположения что это делается таким способом:
Code textarea.vale = 'тег клана: '+document.getElementById("teamName").value()+'сайт клана:'+document.getElementById("teamSite").value()+' и т.д. ...
Но у меня возникли вопросы: 1) как мне получить textarea, если у неё нету id ? 2) как правильно написать этот код ?
Спасибо
|
|
|
|
|
Coder
627 сообщений
Мужчина
|
Code $('#teamInsertMessForm').click(function() { var $this = $(this); var i = { 'name': { 'title': 'Тег клана: ', 'val': $.trim($('#teamName').val()) }, 'site': { 'title': 'Сайт клана: ', 'val': $.trim($('#teamSite').val()) }, 'steam': { 'title': 'Стим админа: ', 'val': $.trim($('#teamSteam').val()) }, 'skype': { 'title': 'Скайп админа: ', 'val': $.trim($('#teamSkype').val()) }, 'devider': "\n", 'empty': "---", 'loading': 'Загрузка...', 'submit': 'OK', }; var area = $('textarea[role="textbox"]'); $this.attr('disabled', true).html(i.loading); area.val(i.name.title+(i.name.val?i.name.val:i.empty)+i.devider+i.site.title+(i.site.val?i.site.val:i.empty)+i.devider+i.steam.title+(i.ste am.val?i.steam.val:i.empty)+i.devider+i.skype.title+(i.skype.val?i.skype.val:i.empty)+i.devider); setTimeout(function() { $this.attr('disabled', false).html(i.submit) }, 1000); });
|
|
|
|
|
Beginner
100 сообщений
Мужчина
|
Quote (lifee) ) как мне получить textarea, если у неё нету id а почему бы не воспользоваться классами? При подключенном jquery, можно так $('.className').val() либо обращение конкретно к элементу: $('div.className textarea').val() я думаю способов есть масса... но с js не дружен, так что не перечислю...
|
|
|
|
|
Бывалый
398 сообщений
Мужчина
|
Ставлю код, пишет ошибку: Quote Catchable fatal error: Object of class ddk33_qst_posts_overloader could not be converted to string in .../skin_topic.php on line 599 И что это за язык? Нельзя как нить по проще попробовать сделать?Добавлено (05.12.2012, 19:10) --------------------------------------------- HeadMad, знаю что на jq так можно сделать, но я с ним вообще не умею работать. Если на js ещё что-то получается написать, то тут ... Добавлено (05.12.2012, 19:11) --------------------------------------------- Кстати, забыл упомянуть, что все элементы находятся на оной странице.
|
|
|
|
|
Beginner
100 сообщений
Мужчина
|
так а jquery подключена? Если да, то вот: Code $('textarea.cke_source').val('тег клана: '+ $('#teamName').val() + 'сайт клана:' + $('#teamSite').val() + ' и т.д...') но понятно что просто так работать не будет, нужен обработчик событий.... например так: Code $('#teamName').keyup(function(){ $('textarea.cke_source').val('тег клана: '+ $(this).val() + 'сайт клана:' + $('#teamSite').val() + ' и т.д...') }); Так можно поставить на каждое поле ввода, а можно по последнему... Все это может и не работать, потому какQuote (HeadMad) с js не дружен
|
|
|
|
|
Coder
627 сообщений
Мужчина
|
lifee, это Jquery фраймворк. ваша ошибка никак не связана с моим скриптом, читайте доки по используемому движку, вероятней всего код нужно оборачивать в спец теги, либо иные операции...
|
|
|
|
|
Бывалый
398 сообщений
Мужчина
|
HeadMad, сделал так: Code $('#teamInsertMessForm').click(function(){ $('textarea.cke_source').val('Тег клана: ' + $(#teamName).val() + 'Сайт клана: ' + $('#teamSite').val() + 'Steam: ' + $(#teamSteam).val() + 'Skype: ' + $(#teamSkype).val()) }); не пашет( Может в синтаксисе что нить намудрил?Добавлено (05.12.2012, 19:52) --------------------------------------------- syp41k, другие jq скрипты у меня прекрасно работают оборачивая их в теги Code <script type="text/javascript">...</script> Библиотека стоит, никаких доп тегов не требуется, двиг ipb. Если ошибка возникает при добавлении вашего скрипта, то она уже с ней связана, иначе, у меня всё нормально работает.
|
|
|
|
|
Coder
627 сообщений
Мужчина
|
lifee, ясно все, редактор частично поковеркал 27-ю строку кода, потому и не работает скорей всего
обновите 27ю строку на: Code area.val(i.name.title+(i.name.val ? i.name.val:i.empty)+i.devider+i.site.title+(i.site.val ? i.site.val:i.empty)+i.devider+i.steam.title+(i.steam.val ? i.steam.val:i.empty)+i.devider+i.skype.title+(i.skype.val ? i.skype.val:i.empty)+i.devider);
|
|
|
|
|
Бывалый
398 сообщений
Мужчина
|
syp41k, всё равно ошибка.
Добавлено (05.12.2012, 20:23) --------------------------------------------- syp41k, скажите лучше мне что нить на счет этого кода: Code $('#teamInsertMessForm').click(function(){ $('textarea.cke_source').val('Тег клана: ' + $(#teamName).val() + 'Сайт клана: ' + $('#teamSite').val() + 'Steam: ' + $(#teamSteam).val() + 'Skype: ' + $(#teamSkype).val()) }); Что я делаю не правильно? Просто мне кажется такой вариант реализации легче.
|
|
|
|
|
Coder
627 сообщений
Мужчина
|
lifee, селекторы в ковычки возьми
|
|
|
|
|
Бывалый
398 сообщений
Мужчина
|
syp41k, блин, даже этот код не работает( Он по логике вообще правильно написан, ошибок нет?Добавлено (05.12.2012, 23:01) --------------------------------------------- помогите кто сможет, уже и так и сяк пробовал.. дам сайт в лс
|
|
|
|
|
Coder
627 сообщений
Мужчина
|
lifee, я оба варианта проверял - работают, если ты нигде не ошибся и обработчик шаблонов у ипб не покорявил, то должно работать.Добавлено (06.12.2012, 00:06) --------------------------------------------- yo, вспомнил ipb с jq конфликтует...
|
|
|
|
|
Бывалый
1828 сообщений
Мужчина
|
Quote (syp41k) yo, вспомнил ipb с jq конфликтует... IPB юзает прототайп, чтобы использовать обе библиотеки, нужно поставить на страницу Code <script> jQuery.noConflict(); </script>
И в скриптах на jQuery вместо $ юзать jQuery, например: Code jQuery('#done').hide();
Было дело, когда пришлось подключать jQuery на ipb, этот костыль было легче сделать, чем читать доки прототайпа.
ЗЫ В моих глазах - ипб ужасен, имхо.
|
|
|
|
|
Coder
627 сообщений
Мужчина
|
Quote (Moool13) В моих глазах - ипб ужасен, имхо. да согласен, идет уже как готовый продукт напичкан всем подряд и это ужасно.
можно var $ = jQuery; тогда не придется везде этот бакс изменять )
|
|
|
|
|
Бывалый
1828 сообщений
Мужчина
|
Quote (syp41k) можно var $ = jQuery; Знаешь, почему конфликт? Прототайп тоже юзает $, поэтому это равносильно отключению библиотеки: дефолтные скрипты ipb не будут работать.
Quote (syp41k) да согласен, идет уже как готовый продукт напичкан всем подряд и это ужасно. + :)
|
|
|
|
|
Бывалый
398 сообщений
Мужчина
|
Quote (Moool13) IPB юзает прототайп, чтобы использовать обе библиотеки, нужно поставить на страницу в самый верх всего шаблона? Quote (Moool13) И в скриптах на jQuery вместо $ юзать jQuery Code jQuery('#teamInsertMessForm').click(function(){ jQuery('textarea.cke_source').val('Тег клана: ' + jQuery('#teamName').val() + 'Сайт клана: ' + jQuery('#teamSite').val() + 'Steam: ' + jQuery('#teamSteam').val() + 'Skype: ' + jQuery('#teamSkype').val()) }); так?Добавлено (06.12.2012, 15:28) --------------------------------------------- И заметил что в ipb некоторые скрипты обводятся в такой код: Code //<![CDATA[ ... //]]> Что это значит?
|
|
|
|
|
Бывалый
1828 сообщений
Мужчина
|
Quote (lifee) в самый верх всего шаблона? Сначала инициируешь библиотеку, потом вставляешь антиконфликт, например: Code <script src="/js/jquery.js"></script> <script> jQuery.noConflict(); </script>
Да.
|
|
|
|
|
Coder
627 сообщений
Мужчина
|
Quote (lifee) И заметил что в ipb некоторые скрипты обводятся в такой код: если верстка в xhtml, то эта конструкция применяется чтобы убрать ошибки валидации, по моему =)
|
|
|
|
|
Бывалый
398 сообщений
Мужчина
|
Quote (syp41k) если верстка в xhtml, то эта конструкция применяется чтобы убрать ошибки валидации, по моему =) ясно, это как в js иногда обводят в Moool13, syp41k, спасибо, всё работает.)
|
|
|
|
|