We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 17459
    • 268 Posts
    Итак, что мы имеем:

    Форма по адресу
    216.73.98.18/contact_us.html

    Вызов сниппета происходит так:
    [!fillSelectOptions!] //вопрос, кстати, почему в закэшированном виде не работает, вызывая ошибку парсера модх...
    [!eForm? &language=`english` &formid=`ContactForm` &subject=`Feedback` &to=`[email protected]` &vericode=`0` &tpl=`ContactForm` &report=`ContactFormReport` &thankyou=`ContactFormThanks` &debug=`1` &eFormOnBeforeFormParse=`fillSelectOptions` !]


    В сниппете fillSelectOptions хранится вот это:
    <?php
    function fillSelectOptions(&$fields, &$templates){
      $options = '<option value="value1[+products:value1+]">1</option><option value="value2[+products:value2+]">2</option><option value="value3[+products:value3+]">3</option>';
      $templates['tpl'] = str_replace('[+options+]',$options,$templates['tpl']);
      return true;
    }
    ?>


    В чанке ContactForm хранится форма:
    <p class="error">[+validationmessage+]</p>
     <form method="post" action="[~[*id*]~]" id="EmailForm" name="EmailForm">
     	<fieldset>
    		<h3> Contact Us</h3>
     		<input name="formid" type="hidden" value="ContactForm" />
     ...
     		<label for="cfProducts">Products You Are Interested In:
    		<p><select name="products" id="cfProducts" multiple="multiple" size="10" eform="Products You Are Interested In:listbox:1:">[+options+]</select></p></label>
    ...
    		<label> </label><p><input type="submit" name="contact" id="cfContact" class="button" value="Send" /></p>
    	</fieldset>
    </form>


    Проблема в том, что если в списке выбрать например 1 и 3, то будут только последнее значение (3).

    Скажу, что последнее сообщение тут мне не помогло:
    http://modxcms.com/forums/index.php/topic,13091.0.html

    А если делать как обычно, то валидацию проходит, но всё равно тоже только последнее значение...

    Какие идеи?.. Заказчику надо, чтобы на форме выбирался список продуктов из общего списка... Как иначе сделать не знаю...

    P.S. Если упростить форму (вместо [+options+] вбить напрямую в чанк формы значения и убрать сниппет), то проблема остаётся, то есть проблема не в том, что содержимое генерируется динамически...
      • 17459
      • 268 Posts
      :’(
        • 785
        • 2,113 Posts
        Может немного не по теме.
        Вы бы лучше убрали все лишнее и оставили одно неработающее поле (и необходимое окружение). А то разбираться в огромном тексте, в котором, оказывается, не работает одна строка, не всякий будет.
          Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
          Статьи о MODx, регулярно новые публикации
          • 17459
          • 268 Posts
          Возможно, Вы правы.

          Стёр из чанка шаблона формы ненужные поля...
            • 17459
            • 268 Posts
            Перефразирую вопрос:

            кто-нибудь из здесь присутствующих успешно реализовывал формы со списком (через eForm), где в списке можно выбрать несколько вариантов ответа?

            Если нет, возможно, мне стоит спросить в английском разделе про eForm... Если да, ещё раз всё перепроверить...