Przenoszenie danych z pętli na zewnątrz

0

Witam,
Jak mogę zmodyfikować ten kod, aby wyjąć funkcję sprawdz() z pętli i pobrać zmienną razem do funkcji? Bo w tym kodzie wyskakuje: ReferenceError: sprawdz is not defined. Czyli: wyjąć funkcję z pętli, ale tak, aby pętla po ostatnim okrążeniu "wypluła" zmienną razem do funkcji sprawdz(). Mam nadzieję, że w zrozumiały sposób napisałem (jeśli nie to wyjaśnię w odpowiedziach).

Kod:

let Snumer = 0;
let Srazem = 0;

function pobierzdivy()
{
    let Srekordy = [...document.querySelectorAll('.wiersz')].length;
    Srekordy = Srekordy -1;

    while(Snumer < Srekordy)
	{
        //Pobieranie ceny i ilości produktu
        let cena = document.getElementById('cenatab'+Snumer).innerHTML;
        let ilosc = document.getElementById('ilosc'+Snumer).value;

        //Obliczanie wszystkich cen
        let iloraz = cena * ilosc;
        Srazem = Srazem + iloraz;

        //Sprawdzane czy div z sumą jest taki sam jak suma
        function sprawdz()
        {   
            let sumadiv = document.getElementById('razem').value;
            if(Srazem != sumadiv)
            {
                alert("Błąd podczas sprawdzania poprawności formularza. Spróbuj ponownie.");
                window.location("podsumowanie.php");
            }
        }
        console.log(Srekordy);
        Snumer++;
    }
}
1

Zapewne utworzenie jej przed pętlą. W pętli po prostu ją wywołaj i tyle

0

A teraz chciałbym zrobić, aby zmienna iloraz mogła być odczytana w funkcji sprawdz :) Proszę o pomoc ;)

0
Gouda105 napisał(a):

A teraz chciałbym zrobić, aby zmienna iloraz mogła być odczytana w funkcji sprawdz :) Proszę o pomoc ;)

function sprawdz (iloraz)
{
kod
}

i wywołaj ją właśnie podając iloraz w parametrze

0

Tu jeszcze kod:

let Snumer = 0;
let Srazem = 0;

function sprawdz()
{  
    let sumadiv = document.getElementById('razem').innerHTML;
    sumadiv = parseFloat(sumadiv);
    console.log(Srazem);
    console.log(sumadiv);
    if(Srazem !== sumadiv)
    {
        alert("Błąd podczas sprawdzania poprawności formularza. Spróbuj ponownie.");
        location.href = "podsumowanie.php";
    }
}


function pobierzdivy()
{
    let Srekordy = [...document.querySelectorAll('.wiersz')].length;

    while(Snumer < Srekordy)
	{
        //Pobieranie ceny i ilości produktu
        let cena = document.getElementById('cenatab'+Snumer).innerHTML;
        let ilosc = document.getElementById('ilosc'+Snumer).value;

        //Obliczanie wszystkich cen
        let iloraz = cena * ilosc;
        Srazem = Srazem + iloraz;

        //Sprawdzane czy div z sumą jest taki sam jak suma
        console.log(Srekordy);
        Snumer++;
    }
}

Zapomniałem go dać, a trochę się zmienił

0
function sprawdz(iloraz)
{  
     let sumadiv = document.getElementById('razem').innerHTML;
     sumadiv = parseFloat(sumadiv);
     console.log(Srazem);
     console.log(sumadiv);
     console.log(iloraz);

     if(Srazem !== sumadiv)
     {
         alert("Błąd podczas sprawdzania poprawności formularza. Spróbuj ponownie.");
         location.href = "podsumowanie.php";
     }
 }
0

Ale iloraz pokazuje jako: undefined

Kod:

let Snumer = 0;
let Srazem = 0;


function sprawdz(iloraz)
{  
    let sumadiv = document.getElementById('razem').innerHTML;
    sumadiv = parseFloat(sumadiv);
    console.log(Srazem);
    console.log(sumadiv);
    console.log(iloraz);
    if(iloraz !== sumadiv)
    {
        alert("Błąd podczas sprawdzania poprawności formularza. Spróbuj ponownie.");
        location.href = "podsumowanie.php";
    }
}


function pobierzdivy()
{
    let Srekordy = [...document.querySelectorAll('.wiersz')].length;

    while(Snumer < Srekordy)
	{
        //Pobieranie ceny i ilości produktu
        let cena = document.getElementById('cenatab'+Snumer).innerHTML;
        let ilosc = document.getElementById('ilosc'+Snumer).value;

        //Obliczanie wszystkich cen
        let iloraz = cena * ilosc;
        Srazem = Srazem + iloraz;

        //Sprawdzane czy div z sumą jest taki sam jak suma
        console.log(Srekordy);
        Snumer++;
    }
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1