Как оживить формы JS?

Доброго времени суток друзья. Вновь пришлось столкнуться с созданием web-страниц и с технологией JS, Jquery я почти незнаком.
Есть сайт на харде, сохраненный, на нём есть модальные окна, форма обратного звонка, нажимая на него я вижу следующее:
59fb0d78d32b4255332185.jpegРаньше я видел вот это:
59fb0dc0d57ec738341816.jpegОткрыл консоль в браузере, он ругается на это
59fb0e90d6e83830774314.jpeg
Но папки /form у меня и нет)

Вот код самого элемента:
<div class="modal-dialog modal-md" style="width: 795px;">
<div class="modal-content">
<div class="modal-header" style="padding: 5px;">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>

</div>
<div class="modal-body">
                <div id="modal-content">Загружаю..</div>
            
</div>

</div>
</div>


А раньше было вот так:
<div class="modal-content">
<div class="modal-header" style="padding: 5px;">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>

</div>
<div class="modal-body">
                <div id="modal-content"><div class="fcontent" style="width: 100%;">
    <div class="ferror" style="display:none">
        <p>Приносим сови извенения, но сервис в данный момент не доступен</p>
    </div>
    <div class="fsuccess" style="display:none">
        <p>Ваша заявка была принята</p>    
    </div>
    <div class="floading" style="display:none">
        <p>Мы уже отправяем ваши данные</p>    
    </div>
    <div class="fnormal frow">
        <div class="fspan">
            <div class="fslider">
                <div class="fil" style="background-image: url(&quot;/uploads/experts/exp-andrey-z.jpg&quot;);"></div>
                <div class="fir" style="background-image: url(&quot;/uploads/experts/exp-denis-z.jpg&quot;);"></div>
                <div class="fic" style="background-image: url(&quot;/uploads/experts/exp-tanya-z.jpg&quot;);"></div>            
                <ul>
                    <li>
                        <span class="name">Татьяна</span>
                        <span class="text">Эксперт проекта</span>
                        <img src="/uploads/experts/exp-tanya-z.jpg">
                    </li>
                    <li>
                        <span class="name">Денис</span>
                        <span class="text">Эксперт проекта</span>
                        <img src="/uploads/experts/exp-denis-z.jpg">
                    </li> 
                    <li>
                        <span class="name">Татьяна</span>
                        <span class="text">Эксперт проекта</span>
                        <img src="/uploads/experts/exp-tanya2-z.jpg">
                    </li>
                    <li>
                        <span class="name">Андрей</span>
                        <span class="text">Руководитель группы</span>
                        <img src="/uploads/experts/exp-andrey-z.jpg">
                    </li>
                </ul>
            </div>
            <div class="fslider-panel">
                <div class="fslider-prev">&nbsp;</div>
                <div class="fslider-title">
                    <p class="name">Татьяна</p>
                    <p class="text">Эксперт проекта</p>
                </div>
                <div class="fslider-next">&nbsp;</div>
            </div>            
        </div>
        <div class="fspan">            
            <p class="form-title">Заказать звонок эксперта</p>
            <form action="#" class="fform">                
                <p class="text">Укажите ваши контактные данные и наш эксперт по недвижимости свяжется с вами.</p>
                <input type="hidden" name="type" value="заказал обратный звонок">
                <input type="hidden" name="lidtype" value="callback">
                <input name="name" type="text" placeholder=" Ваше имя">
                <input name="phone" type="text" placeholder=" Телефон">
                <button type="button" onclick="$(this).trigger('sendit');return false;" class="gold-fbut">Отправить заявку</button> 
            </form>
        </div>        
    </div>
</div>
<script type="text/javascript" defer="defer">
    /*выравниваем ширину принимающего попапа*/
    $('.modal-body').css('margin-top','');
    $('.frow')    
    .closest('.modal-dialog.modal-md').css('width','797px')
    .find('div.modal-header').css('padding','5px');
    /*слайдер|карусель*/
    $('.fslider').each(function(){
        /*левый клик*/        
        $('.fslider-prev').on('click',function(){
            var ul = $(this).parent().parent().find('.fslider ul');
            ul.prepend(ul.find('li:last').remove());            
            ul.parent().trigger('change')
        })
        /*правый клик*/
        $('.fslider-next').on('click',function(){
            var ul = $(this).parent().parent().find('.fslider ul');
            ul.append(ul.find('li:first').remove());
            ul.parent().trigger('change')
        })
        /*двигаем фотки, меняем подпись*/
        $('.fslider').on('change',function(){
            $(this).find('.fic').css('background-image','url('+$(this).find('li:first img').attr('src')+')');
            $(this).find('.fir').css('background-image','url('+$(this).find('li:first').next().find('img').attr('src')+')');
            $(this).find('.fil').css('background-image','url('+$(this).find('li:last img').attr('src')+')');
            $(this).parent().find('p.name').text($(this).find('li:first .name').text());
            $(this).parent().find('p.text').text($(this).find('li:first .text').text())
        }).trigger('change');
        /*Проверяем корректность ввода*/
        $('.fform .gold-fbut').on('sendit',function(){            
            var f = $(this).closest('.fform');
            var d = {
                json:[{name:'name',value:f.find('input[name=name]').val()},{name:'phone',value:f.find('input[name=phone]').val()}],
                where:f.find('input[name=type]').val()
            };                        
            if(!/^[a-zA-Zа-яА-Я][a-zA-Zа-яА-Я\-\s]{1,50}$/im.test(d.json[0].value)) {
                f.find('input[name=name]').css('outline','1px solid red');
                return false;
            }            
            if(!/^[\+\(\)\-\s0-9]{6,40}$/im.test(d.json[1].value)) {
                f.find('input[name=phone]').css('outline','1px solid red');
                return false;
            }

            try {
                if(d.where == 'заказал подбор'){
                    yaCounter41262729.reachGoal('podbor');
                    ga('send', 'event', 'submint', 'podbor') ;
                }else{
                    yaCounter41262729.reachGoal('zvonok');
                    ga('send', 'event', 'submint', 'zvonok') ;
                }
            } catch (error) {}

            
            f.closest('.fcontent').find('.fnormal').css('display','none');
            f.closest('.fcontent').find('.floading').css('display','block');
            
            $.ajax({
                url: '/form/send',
                type: "GET",
                data: d,
                success: function (data){                    
                    f.closest('.fcontent').find('.floading').css('display','none');
                    f.closest('.fcontent').find('.fsuccess').css('display','block');
                    setTimeout(function(){
                        $('.close').click()
                    },3000)
                },
                error:function (data){                    
                    console.log(f)
                    f.closest('.fcontent').find('.floading').css('display','none');
                    f.closest('.fcontent').find('.ferror').css('display','block');
                    setTimeout(function(){
                        $('.close').click()
                    },3000)
                }
            })
            
        });
        /* Отключаем сообщение об ошибке*/
        $('.fform input').on('input', function(){$(this).css('outline','0')});
    })    
</script></div>
            
</div>

</div>

Куда смотреть, где править ? Подскажите пожалуйста. Заранее большое спасибо.
  • Вопрос задан
  • 266 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Oblfakir
Раньше - до чего? В modal-content очевидно ajaxом подгружается форма. Без скрипта работать не будет
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы