Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Новый input при выборе определенного option (https://javascript.ru/forum/dom-window/56757-novyjj-input-pri-vybore-opredelennogo-option.html)

SLameN 03.07.2015 10:31

Новый input при выборе определенного option
 
1. При нажатии на кнопку AddNewOpt, добавляются такие же поля из формы, но почему-то для input добавляется какая-то фигня - " tcalInput"

Правильно:
<input class="tcal" name="user_priem" pattern="..."></p>
Не правильно:
<input class="tcal tcalInput" name="user_priem" pattern="..."></p>

2. Как сделать, чтобы при выборе определенного option в user_univer(например value: 7) появлялся input text? При выборе другого option (не 7) не показывался.

3. При выборе user_type_univer подтягиваются данные в user_univer. Все работает, но когда выбираешь пустой user_type_univer, user_univer не удаляется. Как его очистить?

<div id="Template">
        <p>Образование
        <select name="user_type_univer" onChange="js_university(this.value, document.user_form.user_univer)">
            <option></option>
            <option value="0">Среднее</option>
            <option value="1">Высшее</option>
        </select></p>
        
        <p>Наименование учебного заведения
        
        <select name="user_univer">
            <option></option>
        </select></p>
        
        <p>Год окончания
        <input class="tcal" name="user_priem" pattern="..." /></p>
        
        <p>Год поступления
        <input class="tcal" name="user_postyplenie" pattern="..." /></p>
    </div>

<input type='button' value='Add' onclick="AddNewOpt()">
    
    <span name='placeHolder' id='placeHolder'></span>


<script type="text/javascript">
    var i = 2;
     
    function AddNewOpt()
    {
        var htm = document.getElementById('Template').innerHTML
            .replace(/user_univer/g, "$&"+i)
            .replace(/user_type_univer/g, "$&"+i)
            .replace(/user_priem/g, "$&"+i)
            .replace(/user_postyplenie/g, "$&"+i);
        
        $(".formStr").append($(htm));
        i++;
    }
</script>


<script>
    function js_university(name, ctrl)
    {        
        document.user_form.user_univer.innerHTML="";
        if(name == 1)
        {
        ctrl.options[0]=new Option("...", 1);
ctrl.options[1]=new Option("...", 2);
}
if(name == 0)
{
ctrl.options[0]=new Option(...", 7);
ctrl.options[1]=new Option("...", 8);
}
    }
</script>

kostyanet 03.07.2015 16:05

По-моему бред несусветный. Я лично такое, да еще на полном серьезе, впервые вижу. Это же js, а не php...

SLameN 03.07.2015 16:25

Что именно не нравится? Что скобки переношу?

kostyanet 03.07.2015 16:26

Какие еще скобки?

kostyanet 03.07.2015 16:29

Ну ладно, вот эти риплейсы у вас за каким членом-кореспондентом? А этот шаблон для чего? Можно подумать вы не знаете про клонирование дом-объектов и про имена с [] для передачи заранее неизвестного количества значений одного поля.


Часовой пояс GMT +3, время: 03:13.