Страница 1 из 11
Модератор форума: JonMagon 
Сообщество uCoz » Вебмастеру » JavaScript, Flash и прочие технологии » JavaScript » Как сделать первую букву - заглавной
Как сделать первую букву - заглавной
zarim
Сообщений: 403
Репутация: 70
Уровень замечаний:

Сообщение # 1 | 11:32:14
Можно ли на JavaScript реализовать следующее условие:
если участник заполняет название темы форума или иной "титл" (название материала) в любом модуле маленькими буквами, то скрипт автоматически меняет первую букву первого слова на заглавную при сохранении или отправлении материала?

Знаю, что это легко делается стилями, но интересует именно скрипт smile
Rostislav
Сообщений: 2394
Репутация: 591

Сообщение # 2 | 12:15:27
zarim, зачем вам скрипт, если все легко делается стилями?

Код
div.class {text-transform: capitalize;}


или

Код
div.class:first-letter {text-transform: uppercase;}

zarim
Сообщений: 403
Репутация: 70
Уровень замечаний:

Сообщение # 3 | 12:37:03
Rostislav, спасибо, стилями я умею, но нужен именно скрипт :)
Я использую поля-коды вставки, в которых прописан титл через условный оператор (например - в фотоальбоме). Если сделаю стилями - то в поле с кодом-вставкой название останется с маленькой буквы.

Тут вроде как есть решение: http://javascript.ru/forum....ym.html но не могу его приспособить, поэтому прошу помощи
sergeymitrichev
Интернет Магазины
Сообщений: 1796
Репутация: 392

Сообщение # 4 | 12:54:13
zarim, если использовать то, что по ссылке:

Код
$('#input').on('blur', function(){
  var s = $(this).val();
  s = s.charAt(0).toUpperCase() + s.substr(1);
  $(this).val(s);
});
#input заменить на свое поле

zarim
Сообщений: 403
Репутация: 70
Уровень замечаний:

Сообщение # 5 | 15:25:24
sergeymitrichev, спасибо!
В блогах - получилось, а вот в фотоальфоме - никак.

Рабочий код с блога, со страницы "архива материалов" (этот же шаблон для добавления/редактирования), ставил после $BODY$:
Код
<script type="text/javascript">
$('#blF1').on('blur', function(){
  var s = $(this).val();
  s = s.charAt(0).toUpperCase() + s.substr(1);
  $(this).val(s);
});
</script>

где #blF1 - id поля из строки:
Код
<input type="text" size="35" style="width:100%;" id="blF1" name="title" class="manFlTitle" maxlength="140"/>


А в фотоальбоме, ставлю так же, в шаблон страницы добавления материала, после $BODY$ - не хочет работать
Код
<script type="text/javascript">
$('#phF11').on('blur', function(){
  var s = $(this).val();
  s = s.charAt(0).toUpperCase() + s.substr(1);
  $(this).val(s);
});
</script>

где #phF11 - id поля из строки:
Код
<input type="text" id="phF11" class="manFlOth1" size="35" style="width:100%;" name="other11" maxlength="200"/>


Где моя ошибся?

Добавлено (23 Июн 2016, 15:25:24)
---------------------------------------------
На форуме - тоже поставил - работает, один фотоальбом какой-то заколдованный

sergeymitrichev
Интернет Магазины
Сообщений: 1796
Репутация: 392

Сообщение # 6 | 16:02:22
Код
<script type="text/javascript">
$('.manFlOth1').on('blur', function(){
  var s = $(this).val();
  s = s.charAt(0).toUpperCase() + s.substr(1);
  $(this).val(s);
};);
</script>
а так?

zarim
Сообщений: 403
Репутация: 70
Уровень замечаний:

Сообщение # 7 | 16:38:57
sergeymitrichev, и так не хочет. Пробовал разные поля (титл, дополнительные), ставил и id и класс - ни так, ни так не работает.

Чем фотоальбом может отличаться от остальных модулей? Может дело в "мультизагрузке"?, хотя никогда не гружу более 1 фото, при редактировании - так же отказывается скрипт работать. crazy
sergeymitrichev
Интернет Магазины
Сообщений: 1796
Репутация: 392

Сообщение # 8 | 13:37:05
zarim, надо в консоль смотреть, не возникает ли ошибок

zarim
Сообщений: 403
Репутация: 70
Уровень замечаний:

Сообщение # 9 | 18:10:20
sergeymitrichev, я дружу с условными операторами, а со скриптами... на уровне толстого чайника))

Ребята, что там, в этом фотоальбоме, такого особенного?? Помогите подружить скрипт с ним, пожаааалуйста ))
sergeymitrichev
Интернет Магазины
Сообщений: 1796
Репутация: 392

Сообщение # 10 | 09:08:42
zarim, на странице добавления товара нажмите F12 и перейдите во вкладку "Console". Там показываются сообщения об ошибках.

zarim
Сообщений: 403
Репутация: 70
Уровень замечаний:

Сообщение # 11 | 10:44:28
sergeymitrichev, посмотрел, ошибок нет :(
Если согласитесь, могу дать в личку адрес/логин/пароль, ведь лучше один раз увидеть... если же нет - вы мне и так здорово помогли smile
sergeymitrichev
Интернет Магазины
Сообщений: 1796
Репутация: 392

Сообщение # 12 | 11:12:34
zarim, скиньте в ЛС данные для входа

zarim
Сообщений: 403
Репутация: 70
Уровень замечаний:

Сообщение # 13 | 12:06:51
sergeymitrichev, отправил, заранее спасибо
sergeymitrichev
Интернет Магазины
Сообщений: 1796
Репутация: 392

Сообщение # 14 | 12:24:45
zarim, попробуйте так:
Код
$('#phM53').on('blur', '#phF11', function(){
  var s = $(this).val();
  s = s.charAt(0).toUpperCase() + s.substr(1);
  $(this).val(s);
});
Если не поможет, тогда так:

Код
$(document).ready(function(){
  $('#phM53').on('blur', '#phF11', function(){
    var s = $(this).val();
    s = s.charAt(0).toUpperCase() + s.substr(1);
    $(this).val(s);
  });
});
Суть в том, что скрипт срабатывает до того, как поле для ввода данных определено

zarim
Сообщений: 403
Репутация: 70
Уровень замечаний:

Сообщение # 15 | 12:51:54
sergeymitrichev, первый вариант решил проблему, ещё раз спасибо!

Если я правильно понял, в фотоальбоме форма добавления подгружается уже "после скрипта", в отличии скажем от модуля блогов или доски объявления, поэтому скрипт не хотел работать по идентификатору "#phF11"
Сообщество uCoz » Вебмастеру » JavaScript, Flash и прочие технологии » JavaScript » Как сделать первую букву - заглавной
Страница 1 из 11
Поиск: