Prodej domén - mobilnipruvodce.cz, modernimesto.cz, moderniregion.cz a další
Zobrazují se odpovědi 1 až 5 z 5

TAB povolit průchozí tlačítko pokračovat po tom co je u aktuálního tabu zaškrtlý checkbox nebo radio button.

  1. Ahoj lidi,

    Mám takový problém, potřebuji, aby po tom co jsou zaškrtlé checkboxy nebo radio buttony u daného tabu...šlo při tlačítku zpět....tlačítko pokračovat nastavit na opacity:1 a disable false...
    nyní mi to funguje, až když dojdu na začátek...tak pak to rozlišuje jestli je u tabu něco zaškrtlého...a nechává tlačítko pokračovat propustné. já potřebuji, aby se to dalo normálně procházet pokud je to zaškrtlé u konkrétnh tabu..... aby šlo zpět i pokračovat... pokud neni něco zašktlého u aktuálního tabu..., aby nešlo pokračovat..

    Vyzkoušíte tak, že půjdete dopředu tři taby zaškrtnete..a pak půjdete zpět..a je disable, při zpět musí být enable pokračovat. když dojdete na začátek..tak to potom funguje

    Otestovat to můžete zde:
    http://ajax.tode.cz


    Tohle je celý script....


    Kód:
     
     <script src="/slider2/js/jquery.min.js"></script>
    <script src="/slider2/js/jquery-ui.min.js"></script> 
    
     
    
    
    
    <script>
     $(document).ready(function() {
    
      window.checkedTest = function(){ 
    $("#nextBtn").attr("disabled", false).css({"opacity":"1","cursor":"pointer"});  
    $("#gpdr").attr("checked", true);
    
    }
    
    
    
         $("#nextBtn").attr("disabled", true).css({"opacity":"0.5","cursor":"not-allowed"});
        
        // projdeme pole a najdeme checkboxy
        var pole = ['checkbox-buttons','checkbox-buttons1','spokojenost','radio-prijem', 'rodina2'];
        
        $.each( pole, function( i, val ) {
    
        $('#'+val).find('input[type="checkbox"],input[type="radio"] ').change(function(){
           
        var t = ($('#'+val).find('input[type="checkbox"]:checked,input[type="radio"]:checked').length);
        if (t > 0){
          $("#nextBtn").attr("disabled", false).css({"opacity":"1","cursor":"pointer"});
        }
        else{
          $("#nextBtn").attr("disabled", true).css({"opacity":"0.5","cursor":"not-allowed"});
        }
        
        
        
        
        
        
        
        }).change();
        }); 
        
    
    window.zmenaPozadi = function(){
       
       if($("#p7").is(":checked") ||  $("#p8").is(":checked") || $("#p9").is(":checked") )  {
       
      $("#rotator").css("background-image", "url(img/ucty.jpg)");
      $(".regarea").css("width", "100%").css("min-width", "1600px");
    };
    
    }
     
    
      $("#r1").change(function(){
      if($(this).is(":checked")){
       
        $("#r2,#r3,#r4,#r5,#r6,#r7,#r8,#r9,#r10,#r11,#r12").attr("checked", false);
      $("#r2,#r3,#r4,#r5,#r6,#r7,#r8,#r9,#r10,#r11,#r12").attr("disabled", true);
      $("#rar2,#rar3,#rar4,#rar5,#rar6,#rar7,#rar8,#rar9,#rar10,#rar11,#rar12").css({"opacity":"0.5","cursor":"not-allowed"}); 
      $("#vypnout").removeClass("show");
      
      }else{
    
      $("#r1").attr("disabled", true);
      $("#rar1").css({"opacity":"0.5","cursor":"not-allowed"});
      $("#r2,#r3,#r4,#r5,#r6,#r7,#r8,#r9,#r10,#r11,#r12").attr("disabled", false);
      $("#rar2,#rar3,#rar4,#rar5,#rar6,#rar7,#rar8,#rar9,#rar10,#rar11,#rar12").css({"opacity":"1.0","cursor":"pointer"});
      $("#vypnout").addClass("show");
       
      }
     });
       $("#r2,#r3,#r4,#r5,#r6,#r7,#r8,#r9,#r10,#r11,#r12").change(function(){
      if($(this).is(":checked")){
      
         
        
      $("#r1").attr("disabled", false);
      $("#rar1").css({"opacity":"1.0","cursor":"pointer"});
      
      $("#vypnout").addClass("show");
      
      }else{
    
     $("#vypnout").removeClass("show");
      
      
       
      }
     });
    
        
    
     $(".pouceni").hide();   
     $( ".odkaz" ).click(function(event) {
        event.preventDefault();
      $( ".pouceni" ).slideToggle( "slow" );
      
        
    }); 
      
    $( ".zavrit" ).click(function(event) {
        event.preventDefault();
        $(".pouceni").hide("slow"); 
      
        
    });  
    /*$( "#prevBtn" ).click(function(event) {
        event.preventDefault();
       $("#nextBtn").attr("disabled", false).css({"opacity":"1","cursor":"pointer"});
      
        
    }); */     
    
    
    
            
      
            
           
         
     
     
      
    
     window.submitForm = function(){
        var data = { "cGroup" : [] };
          $(".cGroup:checked").each(function() {
          data["cGroup"].push( $(this).val() );
        });
        var data1 = { "rGroup" : [] };
          $(".rGroup:checked").each(function() {
          data1["rGroup"].push( $(this).val() );
        });
         var data2 = { "analyzascore" : [] };
          $(".score1:checked").each(function() {
          data2["analyzascore"].push( $(this).val() );
        });
         var data3 = { "prijem" : [] };
          $(".prijemz:checked").each(function() {
          data3["prijem"].push( $(this).val() );
        });
         var data4 = { "prijempodnikani" : [] };
          $(".prijemp:checked").each(function() {
          data4["prijempodnikani"].push( $(this).val() );
        });
          var data5 = { "rodina1" : [] };
          $(".rodina1:checked").each(function() {
          data5["rodina1"].push( $(this).val() );
        });
          var data6 = { "rodina2" : [] };
          $(".rodina2:checked").each(function() {
          data6["rodina2"].push( $(this).val() );
        });
        
              
          console.log( data1 ); 
      
         $.ajax({
            type: "POST",
            cache : false,
            url: "/php/form-process.php",
            data:{ "formdata" : data , "formdata1" : data1, "formdata2" : data2, "formdata3" : data3, "formdata4" : data4, "formdata5" : data5, "formdata6" : data6 },
            success: function( returnData ){
                 $("#odeslano").html( returnData );
            }
        });
      }
    });
    </script>
    
     <script>
    var currentTab = 0; // Current tab is set to be the first tab (0)
    showTab(currentTab); // Display the current tab
    
    function showTab(n) {
      // This function will display the specified tab of the form ...
      var x = document.getElementsByClassName("show");
      x[n].style.display = "block";
      // ... and fix the Previous/Next buttons:
      if (n == 0) {
        document.getElementById("prevBtn").style.display = "none";
      } else {
        document.getElementById("prevBtn").style.display = "inline";
        document.getElementById("prevBtn").innerHTML = "Zpět";
      }
      if (n == (x.length - 1)) {
        document.getElementById("nextBtn").style.display = "none"; //del pri odoslat
        document.getElementById("prevBtn").style.display = "none"; //del pri odoslat
        document.getElementById("steps").style.display = "none"; //del
        //    document.getElementById("nextBtn").innerHTML = "Odeslat"; 
      } else {
        document.getElementById("nextBtn").innerHTML = "Pokračovat";
      }
      // ... and run a function that displays the correct step indicator:
      fixStepIndicator(n)
    }
    
    
    function nextPrev(n) {
      // This function will figure out which tab to display
      var x = document.getElementsByClassName("show");
      // Exit the function if any field in the current tab is invalid:
      if (n == 1 && !validateForm()) return false;
      // Hide the current tab:
      x[currentTab].style.display = "none";
      // Increase or decrease the current tab by 1:
      currentTab = currentTab + n;
      // if you have reached the end of the form... :
      if (currentTab == x.length -1) {
        //...the form gets submitted:
        submitForm();
        zmenaPozadi();
        
      }  
      // Otherwise, display the correct tab:
       // $("#nextBtn").attr("disabled", true).css({"opacity":"0.5","cursor":"not-allowed"});
      showTab(currentTab);
       
        if (currentTab == x.length -2) {
         
       checkedTest();
       
      
        
      
      }
      
       
    
      var aktualni = $('.tab').eq(currentTab).find("input[type='checkbox']:checked,input[type='radio']:checked").length;
        console.log(aktualni);
    
      if(parseInt(aktualni) > 0){
      console.log(aktualni);
    		$("#nextBtn").eq(currentTab).attr("disabled", false).css({"opacity":"1","cursor":"pointer"});
    		 //$("#nextBtn").eq(n).attr('style', 'opacity: 1 !important');	
    	}else{
    		$("#nextBtn").attr("disabled", true).css({"opacity":"0.5","cursor":"not-allowed"});	
    	}
      
      
    
      
     
    }
    
    function validateForm() {
      // This function deals with validation of the form fields
      var x, y, i, valid = true;
      x = document.getElementsByClassName("show");
      y = x[currentTab].getElementsByTagName("input");
      // A loop that checks every input field in the current tab:
      for (i = 0; i < y.length; i++) {
        // If a field is empty...
        if (y[i].value == "") {
          // add an "invalid" class to the field:
          y[i].className += " invalid";
          // and set the current valid status to false:
          valid = false;
        }
      }
      // If the valid status is true, mark the step as finished and valid:
      if (valid) {
        document.getElementsByClassName("step")[currentTab].className += " finish";
        
      }
      return valid; // return the valid status
    }
    
    function fixStepIndicator(n) {
      // This function removes the "active" class of all steps...
      var i, x = document.getElementsByClassName("step");
      for (i = 0; i < x.length; i++) {
        x[i].className = x[i].className.replace(" active", "");
      }
      //... and adds the "active" class to the current step:
      x[n].className += " active";
    }
    
    
     
     
    
        
    </script> 
    
    
               
            </div>
    
        </section>
        </div>

  2. Co se právě děje na Webtrhu?
  3. Ve funkci nextPrev můžete přepsat

    Kód:
    if (n == 1 && !validateForm()) return false;
    na

    Kód:
    if (!validateForm()) return false;
    ale nevím, jestli to nerozbije něco jiného.

  4. ani tuk...ale moc děkuju..

    tam je důležitý tenhle script ten to tam dělá.... Pokud byste měl zájem mohu vás pustit na testovací prostředí..... na ceně se určitě dohodneme....

    Kód:
      var aktualni = $('.tab').eq(currentTab).find("input[type='checkbox']:checked,input[type='radio']:checked").length;
        console.log(aktualni);
    
      if(parseInt(aktualni) > 0){
      console.log(aktualni);
                    $("#nextBtn").eq(currentTab).attr("disabled", false).css({"opacity":"1","cursor":"pointer"});
                     //$("#nextBtn").eq(n).attr('style', 'opacity: 1 !important');  
            }else{
                    $("#nextBtn").attr("disabled", true).css({"opacity":"0.5","cursor":"not-allowed"});     
            }

  5. Jak to, že ani ťuk? Já jsem to zkoušel a mně to ťuká ;), akorát že koukám, že to pak povolí pokračování na všechny taby, takže nejspíš bude potřeba přidat podporu do funkce showTab. (Já jsem tu funkci teda přepisoval až po načtení stránky.)

    Takto, jak to děláte, bych vám ale nedoporučoval to dělat, protože přidáváte funkcionalitu, která patří do těch funkcí nextPrev a showTab, někde mimo. Pak je v tom hrozný chaos a nemůžete přijít na to, proč věci nefungují.

    ---------- Příspěvek doplněn 06.12.2018 v 18:52 ----------

    Citace Původně odeslal mjerabek Zobrazit příspěvek
    Jak to, že ani ťuk? Já jsem to zkoušel a mně to ťuká ;), akorát že koukám, že to pak povolí pokračování na všechny taby, takže nejspíš bude potřeba přidat podporu do funkce showTab. (Já jsem tu funkci teda přepisoval až po načtení stránky.)

    Takto, jak to děláte, bych vám ale nedoporučoval to dělat, protože přidáváte funkcionalitu, která patří do těch funkcí nextPrev a showTab, někde mimo. Pak je v tom hrozný chaos a nemůžete přijít na to, proč věci nefungují.
    Jo aha už to vidím — moje/vaše chyba, protože ten kód je fakt chaotický. Jsem tu funkci přepsal bez toho vašeho kódu.

  6. Poslal jsem vám email.

Hostujeme u Server powered by TELE3