Результаты поиска
Введите запрос, по завершению нажмите Enter.
  • Страница 1 из 1
  • 1
Архив - только для чтения
Передать текст из одного поля в другое
Отправлено 04.12.2012 - 22:531
Нет аватара
Бывалый
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) как правильно написать этот код ?

Спасибо
Профиль Личное сообщение Дом. страница icq Skype
20
Отправлено 05.12.2012 - 17:172
Нет аватара
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);
});
Профиль Личное сообщение Дом. страница icq Skype
66
Отправлено 05.12.2012 - 19:023
Beginner
100 сообщений
Мужчина
Quote (lifee)
) как мне получить textarea, если у неё нету id

а почему бы не воспользоваться классами? При подключенном jquery, можно так
$('.className').val()
либо обращение конкретно к элементу:
$('div.className textarea').val()
я думаю способов есть масса... но с js не дружен, так что не перечислю...
Профиль Личное сообщение Дом. страница icq Skype
2
Отправлено 05.12.2012 - 19:114
Нет аватара
Бывалый
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)
---------------------------------------------
Кстати, забыл упомянуть, что все элементы находятся на оной странице.

Профиль Личное сообщение Дом. страница icq Skype
20
Отправлено 05.12.2012 - 19:245
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 не дружен
Профиль Личное сообщение Дом. страница icq Skype
2
Отправлено 05.12.2012 - 19:416
Нет аватара
Coder
627 сообщений
Мужчина
lifee, это Jquery фраймворк.
ваша ошибка никак не связана с моим скриптом, читайте доки по используемому движку, вероятней всего код нужно оборачивать в спец теги, либо иные операции...
Профиль Личное сообщение Дом. страница icq Skype
66
Отправлено 05.12.2012 - 19:527
Нет аватара
Бывалый
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.
Если ошибка возникает при добавлении вашего скрипта, то она уже с ней связана, иначе, у меня всё нормально работает.
Профиль Личное сообщение Дом. страница icq Skype
20
Отправлено 05.12.2012 - 19:588
Нет аватара
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);
Профиль Личное сообщение Дом. страница icq Skype
66
Отправлено 05.12.2012 - 20:239
Нет аватара
Бывалый
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())   
});

Что я делаю не правильно?
Просто мне кажется такой вариант реализации легче.
Профиль Личное сообщение Дом. страница icq Skype
20
Отправлено 05.12.2012 - 21:3610
Нет аватара
Coder
627 сообщений
Мужчина
lifee, селекторы в ковычки возьми

Quote (lifee)
#teamName

Quote (lifee)
#teamSteam

Quote (lifee)
#teamSkype
Профиль Личное сообщение Дом. страница icq Skype
66
Отправлено 05.12.2012 - 23:0111
Нет аватара
Бывалый
398 сообщений
Мужчина
syp41k, блин, даже этот код не работает(
Он по логике вообще правильно написан, ошибок нет?

Добавлено (05.12.2012, 23:01)
---------------------------------------------
помогите кто сможет, уже и так и сяк пробовал.. дам сайт в лс

Профиль Личное сообщение Дом. страница icq Skype
20
Отправлено 06.12.2012 - 00:0612
Нет аватара
Coder
627 сообщений
Мужчина
lifee, я оба варианта проверял - работают, если ты нигде не ошибся и обработчик шаблонов у ипб не покорявил, то должно работать.

Добавлено (06.12.2012, 00:06)
---------------------------------------------
yo, вспомнил ipb с jq конфликтует...

Профиль Личное сообщение Дом. страница icq Skype
66
Отправлено 06.12.2012 - 00:2413
Нет аватара
Бывалый
1828 сообщений
Мужчина
Quote (syp41k)
yo, вспомнил ipb с jq конфликтует...

IPB юзает прототайп, чтобы использовать обе библиотеки, нужно поставить на страницу
Code
<script>
jQuery.noConflict();
</script>


И в скриптах на jQuery вместо $ юзать jQuery, например:
Code
jQuery('#done').hide();


Было дело, когда пришлось подключать jQuery на ipb, этот костыль было легче сделать, чем читать доки прототайпа.

ЗЫ
В моих глазах - ипб ужасен, имхо.
Профиль Личное сообщение Дом. страница icq Skype
78
Отправлено 06.12.2012 - 00:2714
Нет аватара
Coder
627 сообщений
Мужчина
Quote (Moool13)
В моих глазах - ипб ужасен, имхо.

да согласен, идет уже как готовый продукт напичкан всем подряд и это ужасно.

можно var $ = jQuery;
тогда не придется везде этот бакс изменять )
Профиль Личное сообщение Дом. страница icq Skype
66
Отправлено 06.12.2012 - 14:2815
Нет аватара
Бывалый
1828 сообщений
Мужчина
Quote (syp41k)
можно var $ = jQuery;

Знаешь, почему конфликт? Прототайп тоже юзает $, поэтому это равносильно отключению библиотеки: дефолтные скрипты ipb не будут работать.

Quote (syp41k)
да согласен, идет уже как готовый продукт напичкан всем подряд и это ужасно.

+ :)
Профиль Личное сообщение Дом. страница icq Skype
78
Отправлено 06.12.2012 - 15:2816
Нет аватара
Бывалый
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[
...
//]]>

Что это значит?
Профиль Личное сообщение Дом. страница icq Skype
20
Отправлено 06.12.2012 - 19:5217
Нет аватара
Бывалый
1828 сообщений
Мужчина
Quote (lifee)
в самый верх всего шаблона?

Сначала инициируешь библиотеку, потом вставляешь антиконфликт, например:
Code

<script src="/js/jquery.js"></script>
<script>
jQuery.noConflict();
</script>


Quote (lifee)
так?

Да.
Профиль Личное сообщение Дом. страница icq Skype
78
Отправлено 06.12.2012 - 20:3018
Нет аватара
Coder
627 сообщений
Мужчина
Quote (lifee)
И заметил что в ipb некоторые скрипты обводятся в такой код:

если верстка в xhtml, то эта конструкция применяется чтобы убрать ошибки валидации, по моему =)
Профиль Личное сообщение Дом. страница icq Skype
66
Отправлено 07.12.2012 - 00:3219
Нет аватара
Бывалый
398 сообщений
Мужчина
Quote (syp41k)
если верстка в xhtml, то эта конструкция применяется чтобы убрать ошибки валидации, по моему =)

ясно, это как в js иногда обводят в
Code

<!--
...
-->

Moool13, syp41k, спасибо, всё работает.)
Профиль Личное сообщение Дом. страница icq Skype
20
  • Страница 1 из 1
  • 1
Поиск:
uSite.su © 2010-2024
Все права защищены.
Многогранность и сверхспособности сообщества uCoz заставляют задуматься даже самые стойкие умы веб-программирования, ведь лишь uSite способен предоставить ответы на самые сложные вопросы uCoz.
01RSS
Хостинг от uCozПользовательское соглашение и прочая информация