Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 140 комментариев

Артур Шевченко
Артур Шевченко
Из-за атрибута disabled и не работала, ведь значение с этим атрибутом не может быть выбрано, значит всегда выбрано другое значение, значит оно всегда есть, значит валидатор всегда возвращает true.
Сергей Карпович
Сергей Карпович
Подскажите, почему можете не работать валидация select?
форма:
<form action="{$_modx->resource.id | url}" method="post" enctype="multipart/form-data">
    <input type="hidden" name="page" value="{$_modx->resource.pagetitle | htmlent}">
    <div class="form">
        <div class="pole pole-icon">
            <input type="tel" name="phone" placeholder="Ваш телефон" autocomplete="off">
            <span class="error-info error_phone"></span>
        </div>
        <div class="pole pole-icon">
            <input type="text" name="name" placeholder="Как Вас зовут?" autocomplete="off">
            <span class="error-info error_name"></span>
        </div>
        <div class="pole">
            <select name="otdel">
                <option disabled selected value="">Выбор отдела*</option>
                <option value="Сервис"[[!+fi.otdel:FormItIsSelected=`Сервис`]]>Сервис</option>
                <option value="Запчасти"[[!+fi.otdel:FormItIsSelected=`Запчасти`]]>Запчасти</option>
                <option value="Автомобили"[[!+fi.otdel:FormItIsSelected=`Автомобили`]]>Автомобили</option>
            </select>
           <span class="error-info error_otdel"></span>
        </div>
        <div class="pole pole-btn">
            <button type="submit" class="btn bg"><span>Свяжитесь со мной</span></button>
        </div>
    </div>
    
    <div class="police">
    «я ознакомлен(-а) и принимаю условия публичной оферты и даю согласие на обработку персональных данных на условиях»
    </div>
</form>
вызов:
{'!AjaxFormitLogin' | snippet : [
            'form' =>  'tpl_form_popup',
            'emailTpl' => 'tpl_email',
            'snippet' => 'FormIt',
            'hooks' => 'FormItSaveForm,email',
            'emailTo' => $_modx->config.email_address,
            'emailFrom' => $_modx->config.emailsender,
            'formName' => 'Заявка на консультацию с сайта ' ~ $_modx->config.site_name,
            'emailSubject' => 'Заявка на консультацию с сайта ' ~ $_modx->config.site_name,
            'successMessage' => '',
            'clearFieldsOnSuccess' => 1,
            'transmittedParams' => ["success" => 'ym_goal', "error" => 'aliases'],
            'aliases' => 'phone==Телефон,name==Имя',
            'showUploadProgress' => 1,
            'spamProtection' => 1,
            'ym_goal' => 'FORM_GOAL',
            'validate' => 'otdel:required,name:required:minLength=^5^,phone:required:minLength=^18^',
            'validationErrorMessage' => 'Исправьте, пожалуйста, ошибки!',
            'otdel.vTextRequired' => 'Выберите отдел',
            'name.vTextRequired' => ' ',
            'name.vTextMinLength' => 'Слишком короткое ФИО.',
            'phone.vTextRequired' => ' ',
            'phone.vTextMinLength' => 'Слишком короткий телефон.',
            'secret.vTextContains' => 'Кажется Вы робот. Если это не так, обновите страницу.',
        ]}
Ярослав Старовойтов
Ярослав Старовойтов
А совместим ли этот компонент с FileAttach?
Т.е. если обновиться с MODX 2 на 3 и вместо FileAttach установить FileMan, то увидит ли новый компонент файлы, прикреплённые с помощью FileAttach?
Alexandr
Alexandr
Решил протестировать на рабочем сайте. При попытке добавить конфигурацию белая страница. Думаю если включить вывод ошибок будет такая же ошибка как писали выше.
MIGX поля на сайте есть, и не одно.
modx 2.8.4
php 7.4
Pandemic
Pandemic
Вот ведь docs.modx.pro/components/xparser/parser-html prnt.sc/flyj-r7cCiHA
Вам нужно пользоваться xpath, есть куча сервисов где вы можете засунуть ту структуру html которая у вас есть, писать xpath и тестировать находит ли он что вам нужно погуглите «xpath online» в вашем случае нужен такой xpath
//*[@class="chairs_page_list"]/*/@href
проверил на этих онлайн сервисах, всё находит без проблем, если у вас xparser будет морозиться, в начало добавьте точку перед двумя слэшами, чтобы было так
.//*[@class="chairs_page_list"]/*/@href
Павел
Павел
Спасибо за ответ. Не могли бы вы конкретнее указать в доках где это? Я перечитал уже раз 5. Проблема в том что, главный селектор содержит href, а уже полями я не могу обратиться к нему, так как доступны только дочерние элементы. В вашем примере stackoverflow совсем другая ситуация и нет проблем найти lang, так как мы парсим и lang находится внутри.
Николай Савин
Николай Савин
Этот пример прямо дословно практически висит в документации
docs.modx.pro/components/xparser/parser-html
Чтобы получить значение атрибута, нужно обратиться к нему через @href
Гуглить я так понимаю тоже не пробовали?
stackoverflow.com/questions/4531995/getting-attribute-using-xpath
Павлик Мышкин
Павлик Мышкин