We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 5675
    • 120 Posts
    Есть часть формы:

    [tt]...
    <label for="categ">Необходимая Вам категория</label>
    <p><select name="categ" id="categ" eform="Category::1" onchange="verify()">
    <option value="Выберите" selected="selected">Выберите</option>
    <option value="Подготовка">Подготовка</option>
    <option value="Переподготовка">Переподготовка</option>
    </select></p>

    <div id="divForSelect" style="display:none">
    <label for="course">Выберите курс</label>
    <p><select name="course" id="course" eform="Course::1"><option value="Выберите" selected="selected">Выберите</option></select></p>
    </div>
    ...[/tt]


    Колбасит это все код на jQuery:

    [tt]function verify(){
    $("#categ").attr("disabled","disabled");
    $(’#divForSelect’).css("display","none");
    var o=$("#categ").attr("selectedIndex");
    if(o==1){
    $("select#course").append($(’<option/>’).val("B").html("B"));
    $("select#course").append($(’<option/>’).val("BС").html("BС"));
    $("select#course").append($(’<option/>’).val("D").html("D"));
    $("select#course").append($(’<option/>’).val("A").html("A"));
    $("select#course").append($(’<option/>’).val("E").html("E"));
    $(’#divForSelect’).css("display","block");
    }

    if(o==2){
    $("select#course").append($(’<option/>’).val("с B на С").html("с B на С"));
    $("select#course").append($(’<option/>’).val("с B на D").html("с B на D"));
    $("select#course").append($(’<option/>’).val("с B на E").html("с B на E"));
    $("select#course").append($(’<option/>’).val("с C на B").html("с C на B"));
    $("select#course").append($(’<option/>’).val("с C на E").html("с C на E"));
    $("select#course").append($(’<option/>’).val("20-ти часовая программа повышения мастерства").html("20-ти часовая программа повышения мастерства"));
    $(’#divForSelect’).css("display","block");
    }
    }[/tt]

    На лету элементы создаются, но созданные таким образом опции не отсылаются, с предварительно закоденными значениями проблем не возникает...

    eForm говорит: В вашей форме обнаружены следующие ошибки:
    Course » Неверное значение

    Все это крутится тут http://dosaaf.vdzr.ru/request

    Короче надо как-то сделать два селекта, зависимых от одного
      Автор благодарит алфавит за любезно предоставленные буквы
      • 1611
      • 591 Posts
      Как вариант, закодить все возможные значения, а через jQuery скрывать ненужные.
        • 5675
        • 120 Posts
        А что толку от скрытых полей в форме - они все равно посылаются smiley
        При удалении на лету второго селекта все равно просит заполнить его... Форма обрабатывается не на лету, а перед отрисовкой, наколько я понимаю... Сделал посылку обоих селектов... Разница заключается в лишнем слове "Выберите"
          Автор благодарит алфавит за любезно предоставленные буквы
          • 1611
          • 591 Posts
          Насколько я понимаю изменять форму в процессе работы сайта не получится.

          Я предлагаю вариант приемлемый по юзабилити, который можно реализовать.

          От пользователя ты лишнее поле скроешь, а для отчета уже обработаешь, и вырежешь лишние данные.
            • 5675
            • 120 Posts
            Теперь вопрос: как её там обработать в отчете
              Автор благодарит алфавит за любезно предоставленные буквы
              • 1611
              • 591 Posts
              Пишешь сниппет в котором определяешь функцию обработки своих данных. Потом указываеь эту функцию в параметре e-form который обозначает нужное событие (надо глянуть в доке, какое именно подойдет). Сниппет либо вызываешь перед eForm либо указываешь его в параметре специальном и e-form его сам вызовет.

              Точные параметры навскидку не напишу, есть в доке, что в комплекте идет с 0.9.6.3
                • 7520
                • 7 Posts
                  • 5675
                  • 120 Posts
                  Да, подобная штучка всплыла еще раз, решил с jquery-таки, а совет надо бы перепостить

                  [tt]<select id="..." name="..." eform="::0::#EVAL return true;">[/tt]
                    Автор благодарит алфавит за любезно предоставленные буквы
                    • 23146
                    • 0 Posts
                    у меня при употреблении этого рецепта возникает ошибка. modx 1.0.5

                    код:
                    <select name="model" id="model" eform="Модель:string:0::#EVAL return true;">
                     <option selected="" value="0">Выберете модель</option>
                    </select>
                    


                    ошибка :
                    « MODx Parse Error »
                    MODx encountered the following error while attempting to parse the requested resource:
                    « PHP Parse Error »

                    PHP error debug
                    Error: strpos() expects parameter 1 to be string, array given
                    Error type/ Nr.: Warning - 2
                    File: /usr/local/www/data/car-company.ru/assets/snippets/eform/eform.inc.php
                    Line: 324
                    Line 324 source: $patharray = explode(((strpos($value,"/")===false)? "\\":"/"), $value);


                    Помогите побороть пожалста.
                      • 5675
                      • 120 Posts
                      Я делаю так

                      <form method="post" action="[~[*id*]~]" id="ModelForm" onsubmit="$('#auto').val($('#autoselect').val()); $('#autoselect').remove()">
                      
                      <input type="hidden" id="auto" name="auto" eform="::0::" value="" />
                      <select name="autoselect" id="autoselect".....
                        Автор благодарит алфавит за любезно предоставленные буквы