Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите в написать короткий скрипт для AdobeAcrobat XI. (https://javascript.ru/forum/misc/38436-pomogite-v-napisat-korotkijj-skript-dlya-adobeacrobat-xi.html)

BSI 01.06.2013 16:55

Помогите в написать короткий скрипт для AdobeAcrobat XI.
 
Вложений: 1
Есть форма Acrobat

Вариант 1 (имя поля ФИО)
ФИО иванов иван иванович (вводим прописные)
после потери фокуса должно получиться ФИО ИВАНОВ ИВАН ИВАНОВИЧ (все буквы заглавные и шрифт жирный)

Вариант2 (имя поля ФИО1)
ФИО иванов иван иванович (вводим прописные)
после потери фокуса должно получиться ФИО Ианов Иван Иванович (первые буквы слов заглавные и шрифт обычный)

Мои действия:
- открываю форму в режиме редактирования
- открываю свойства поля ФИО
-выбираю вкладку Действия, далее «Не в фокусе», потом «Запустить JavaScript»
- кнопка Добавить и в открывшемся окне «Создание и редактирование JavaScript»
- для Варианта1 пишу
ucFirst("ФИО")== "ФИО";
ucFirst("")== ""; //нет ошибок при пустой строке

- для Варианта1 пишу
01 function ucFirst(str) {
02 var newStr = str.charAt(0).toUpperCase();
03
04 for(var i=1; i<str.length; i++) {
05 newStr += str.charAt(i);
06 }
07
08 return newStr;
09 }
10
11 alert( ucFirst("ФИО"1) );
Открываю форму все не работает. Acrobat версия XI. Что делаю не так?
С Явой столкнулся впервые, но решение необходимо. Файл формы во вложении.
Всем ответившим спасибо.

BSI 13.08.2013 21:24

Сам спросил и сам ответил.
Для варианта 1
event.value=event.value.toUpperCase();


Для варианта 2 с расчетом что в ФИО может быть оглы или кызы
var str = event.value;
var FIO = str.split (' ');
var a = FIO.length
switch (a) {
 case 2:{
    FIO [0] = FIO [0].charAt (0).toUpperCase () + FIO [0].substr (1);
    FIO [1] = FIO [1].charAt (0).toUpperCase () + FIO [1].substr (1);
  event.value = FIO.join (' ');
 
       break;
 } 
     case 3:{
        FIO [0] = FIO [0].charAt (0).toUpperCase () + FIO [0].substr (1);
        FIO [1] = FIO [1].charAt (0).toUpperCase () + FIO [1].substr (1); 
        FIO [2] = FIO [2].charAt (0).toUpperCase () + FIO [2].substr (1); 
    event.value = FIO.join (' '); 
       
        break;
}
 case 4:{
        FIO [0] = FIO [0].charAt (0).toUpperCase () + FIO [0].substr (1);
        FIO [1] = FIO [1].charAt (0).toUpperCase () + FIO [1].substr (1); 
        FIO [2] = FIO [2].charAt (0).toUpperCase () + FIO [2].substr (1);
        FIO [3] = FIO [3].charAt (0) + FIO [3].substr (1);
    event.value = FIO.join (' '); 
       
        break;
}
  default:
    event.value = str;   
   
}


Часовой пояс GMT +3, время: 12:52.