• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Ввод по маске

P

Podbelski

Потребовалось сделать маску для поля моб. телефона.
База использует Bootstrap.
Попытался сделать как тут:
Но почему-то это не пашет с Bootstrap'ом.
Меняю тему на XOMINO (как в их тестовой базе), все работает.
Может кто вешал маску на Bootstrap?
 
R

romych2004

Ну тут дело не в бутстрап.. а в кривом гайде и кривой библиотеке

Гайд кривой, потому что использовали jquery 1.7 с устаревшей функцией - jQuery.browser, которая была удалена с версии 1.9

Библиотека кривая, потому что она для jquery 1.3(сейчас домино использует примерно 2.1) :)

Советую:
1) Найти более свежую версию этой библиотеки
2) Найти другую библиотеку. При этом вам не нужно искать специально для XPages. Весь client-side javascript является для всех одинаковым, смотрите только на версии. Можно ввести в гугле "jquery input mask plugin"
3) Самый непредпочтительный вариант - костылить.. Вам необходимо определить функцию на проверку браузер IE или нет. Пример:
JavaScript:
function msieversion() {
    var ua = window.navigator.userAgent;
    var msie = ua.indexOf("MSIE ");

    if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) { // If Internet Explorer, return version number
        return true;
    } else { // If another browser, return 0
        return false;
    }
}
Далее необходимо заменить в самой библиотеке проверку "a.browser.msie" на вызов нашей новой функции - "msieversion()"

И на будущее - советую смотреть консоль браузера
Если что непонятно - спрашивай
 

victorhalf

Green Team
29.05.2007
79
3
BIT
0
Потребовалось сделать маску для поля моб. телефона.
База использует Bootstrap.
Попытался сделать как тут:
Но почему-то это не пашет с Bootstrap'ом.
Меняю тему на XOMINO (как в их тестовой базе), все работает.
Может кто вешал маску на Bootstrap?
Понимаю, что тема старая, но недавно для себя решал этот вопрос, решил написать, вдруг кому пригодиться.
Использовал тот же плагин, что и в статье из xomino.com (jquery.maskedinput.js последней версии - 1.4.1 из ).
1) использую ExtentionLibrary, так что jQuery 2.1.1 автоматом подключается.
плагин выложил на сервере в \domino\html\jquery\jquery.maskedinput.min.1.4.1.js.
в плагине заменил
"function"===typeof define&&define.amd? на
"function"===typeof define&&false?
2) в XPages на родительской страничке добавил плагин как ресурс:
<xp:this.resources>
<xp:script
src="/.ibmxspres/domino/jquery/jquery.maskedinput.min.1.4.1.js" clientSide="true">
</xp:script>
</xp:this.resources>
3) поля для ввода телефонов у меня на отдельном кастом контроле, там добавил
<xp:scriptBlock id="scriptBlock1">
<xp:this.value><![CDATA[
jQuery(function($){
x$("#{id:inputText10}").mask("+38(099) 999 99 99");
x$("#{id:inputText9}").mask("+38(099) 999 99 99");
x$("#{id:inputText12}").mask("99 - 999");
x$("#{id:inputText11}").mask("99 - 99");
});
]]>
</xp:this.value>
</xp:scriptBlock>

вот собственно и всё, всех благ
 

alexas1

Green Team
10.04.2014
1 202
225
BIT
38
возможно и лучше,
вот только я не умею подключать js файлы в качестве ресурсов на страницу или что-то не правильно делал, короче не взлетело.
Слева, где Forms, Views etc... - Resources/Files/Import file resources - выбираешь твою библу
 

victorhalf

Green Team
29.05.2007
79
3
BIT
0
Слева, где Forms, Views etc... - Resources/Files/Import file resources - выбираешь твою библу
А я пробовал через PackageExplorer, добавлял в WebContent/js.
Но как обычно дело оказалось в невнимательности - недоглядел, что в проект добавлял исходный файл с проверкой на амд, а на сервер ложил исправленный, поэтому и не взлетало.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!