Задача:
1.Поле Имя может содержать только латинские или кириллические символы, не может содержать цифры или спецсимволы.
2.Поле Номер телефона при нажатии на поле отображается форма в виде «+__ (___) ___ __ __» поле может содержать только цифры.
Решение:
1. В форме есть такие поля:
1 2 | [text* your-name class:name placeholder 'Введите имя'] [text* your-subject class:tel placeholder '+__ (___) ___ __ __'] |
2. Качаем и подключаем скрипт
Качаем сам скрипт отсюда.
Подключаем:
1 2 3 4 | add_action( 'wp_enqueue_scripts', 'my_scripts_method' ); function my_scripts_method(){ wp_enqueue_script( 'maskedinput', get_stylesheet_directory_uri() . '/js/jquery.maskedinput.js'); } |
3. Пишем функцию для маски и ставим в function.php активной темы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | add_action('wp_footer', 'my_custom_masked_input'); function my_custom_masked_input(){ ?> <script type="text/javascript"> jQuery( function($){ $(".tel").mask("+9(999)-999-99-99",{placeholder:" "}); $.mask.definitions['~']='[А-Я,а-я,A-Z,a-z]'; $(".name").mask("~~?~~~~~~~~~~~~~",{placeholder:" "}); }); </script> <?php } |
Код проверен и работает.
Документация по скрипту тут