- Страницата зарежда в средата заради форма
WT форуми -> HTML / Javascript / CSS -> Страницата зарежда в средата заради форма
Създайте нова тема Напишете отговор 
Автор Съобщение
vinsbg
Редовен
Редовен

Регистриран на: 28/01/2009 2:21 pm

Support: 50
Bonus: 86
Мнения: 2553
Мнение 06/07/2017 12:01 pm     Страницата зарежда в средата заради форма Отговорете с цитат


Здравейте,

нали съм много "добър" с javascript-а ,та не мога се оправя с една форма. Сложил съм на средата на една страница wizard form и всичко си работи коректно без проблем обаче, когато отворя страницата ми зарежда в средата, където е формата.

маркирало е първото поле за въвеждане. Не съм слагал никакви autofocus по формата. Ако може помогнете малко да си зарежда нормално в началото на страницата.

Това е част от формата

    <div class="stepwizard">
        <div class="stepwizard-row setup-panel">
            <div class="stepwizard-step">
                <a href="#step-1" type="button" class="btn btn-primary btn-circle">1</a>
                <p>Step 1</p>
            </div>         
        </div>
    </div>
    <form role="form">
        <div class="row setup-content" id="step-1">
            <div class="col-xs-12">
                <div class="col-md-12">
                    <div class="section-title">
                        <h2>Tell us about yourself</h2>
                    </div>
                    <div class="form-group">
                        <label class="control-label">Name *</label>
                        <input  maxlength="100" type="text" required="required" class="form-control" placeholder="Enter First Name"  />
                    </div>
                    <div class="form-group">
                        <label class="control-label">Age *</label>
                        <input maxlength="100" type="text" required="required" class="form-control" placeholder="Enter Your Age" />
                    </div>
                    <div class="form-group">
                        <label class="control-label">Email *</label>
                        <input maxlength="100" type="text" required="required" class="form-control" placeholder="Enter Email Address" />
                    </div>                     
                    <button class="btn btn-primary nextBtn btn-lg pull-right" type="button" >Next</button>
                </div>
            </div>
        </div>         
    </form>

а това и е js-то

$(document).ready(function () {
    var navListItems = $('div.setup-panel div a'),
            allWells = $('.setup-content'),
            allNextBtn = $('.nextBtn');

    allWells.hide();

    navListItems.click(function (e) {
        e.preventDefault();
        var $target = $($(this).attr('href')),
                $item = $(this);

        if (!$item.hasClass('disabled')) {
            navListItems.removeClass('btn-primary').addClass('btn-default');
            $item.addClass('btn-primary');
            allWells.hide();
            $target.show();
            $target.find('input:eq(0)').focus();
        }
    });

    allNextBtn.click(function(){
        var curStep = $(this).closest(".setup-content"),
            curStepBtn = curStep.attr("id"),
            nextStepWizard = $('div.setup-panel div a[href="#' + curStepBtn + '"]').parent().next().children("a"),
            curInputs = curStep.find("input[type='text'],input[type='url']"),
            isValid = true;

        $(".form-group").removeClass("has-error");
        for(var i=0; i<curInputs.length; i++){
            if (!curInputs[i].validity.valid){
                isValid = false;
                $(curInputs[i]).closest(".form-group").addClass("has-error");
            }
        }

        if (isValid)
            nextStepWizard.removeAttr('disabled').trigger('click');
    });

    $('div.setup-panel div a.btn-primary').trigger('click');
});
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
Fakeheal
Support
Support

Регистриран на: 17/04/2010 8:37 am

Support: 340
Bonus: 678
Мнения: 2556
Мнение 06/07/2017 12:40 pm      Отговорете с цитат


Предпоследния ред има:

$('div.setup-panel div a.btn-primary').trigger('click');


което тригърва:


navListItems.click(function(e) {
  e.preventDefault();
  var $target = $($(this).attr('href')),
      $item = $(this);

  if (!$item.hasClass('disabled')) {
    navListItems.removeClass('btn-primary').addClass('btn-default');
    $item.addClass('btn-primary');
    allWells.hide();
    $target.show();
    $target.find('input:eq(0)').focus();
  }
});


когато страницата се зареди. Ако го махнеш би трябвало всичко да е ок.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
vinsbg
Редовен
Редовен

Регистриран на: 28/01/2009 2:21 pm

Support: 50
Bonus: 86
Мнения: 2553
Мнение 06/07/2017 1:01 pm      Отговорете с цитат


Така се скрива цялата форма. Дори ако само тригера махна пак.. Crying or Very sad
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
Fakeheal
Support
Support

Регистриран на: 17/04/2010 8:37 am

Support: 340
Bonus: 678
Мнения: 2556
Мнение 06/07/2017 1:18 pm      Отговорете с цитат


vinsbg написа:
Така се скрива цялата форма. Дори ако само тригера махна пак.. Crying or Very sad


Махни само тригъра и:

allWells.hide();


Намира се в началото.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
vinsbg
Редовен
Редовен

Регистриран на: 28/01/2009 2:21 pm

Support: 50
Bonus: 86
Мнения: 2553
Мнение 06/07/2017 1:22 pm      Отговорете с цитат


Fakeheal написа:
vinsbg написа:
Така се скрива цялата форма. Дори ако само тригера махна пак.. Crying or Very sad


Махни само тригъра и:

allWells.hide();


Намира се в началото.

Пак същото -> формата я няма
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
Fakeheal
Support
Support

Регистриран на: 17/04/2010 8:37 am

Support: 340
Bonus: 678
Мнения: 2556
Мнение 06/07/2017 1:23 pm      Отговорете с цитат


vinsbg написа:
Fakeheal написа:
vinsbg написа:
Така се скрива цялата форма. Дори ако само тригера махна пак.. Crying or Very sad


Махни само тригъра и:

allWells.hide();


Намира се в началото.

Пак същото -> формата я няма


Можеш ли да пуснеш демо в jsfiddle, в което може да се види "работещ" проблема. Smile
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
vinsbg
Редовен
Редовен

Регистриран на: 28/01/2009 2:21 pm

Support: 50
Bonus: 86
Мнения: 2553
Мнение 06/07/2017 1:34 pm      Отговорете с цитат


Да, ето демото, като натиснеш Run и директно сваля надолу: https://jsfiddle.net/0ghazbpk/
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
Fakeheal
Support
Support

Регистриран на: 17/04/2010 8:37 am

Support: 340
Bonus: 678
Мнения: 2556
Мнение 06/07/2017 1:54 pm      Отговорете с цитат


vinsbg написа:
Да, ето демото, като натиснеш Run и директно сваля надолу: https://jsfiddle.net/0ghazbpk/


Махни само:
$target.find('input:eq(0)').focus();


Нещо съм се пообъркала.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
vinsbg
Редовен
Редовен

Регистриран на: 28/01/2009 2:21 pm

Support: 50
Bonus: 86
Мнения: 2553
Мнение 06/07/2017 2:06 pm      Отговорете с цитат


Fakeheal написа:
vinsbg написа:
Да, ето демото, като натиснеш Run и директно сваля надолу: https://jsfiddle.net/0ghazbpk/


Махни само:
$target.find('input:eq(0)').focus();


Нещо съм се пообъркала.


Най-накрая. Благодаря много Question
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
Покажи мнения от преди:    
Създайте нова тема   Напишете отговор    web-tourist.net Форуми -> HTML / Javascript / CSS Часовете са според зоната GMT + 2 Часа
Страница 1 от 1


 
Идете на:  
Не Можете да пускате нови теми
Не Можете да отговаряте на темите
Не Можете да променяте съобщенията си
Не Можете да изтривате съобщенията си
Не Можете да гласувате в анкети