What's new

Paano po kaya to ma fix yung mauulit yung function nya?

elbawonknu

Forum Guru
Elite
Joined
Dec 9, 2018
Posts
3,732
Solutions
1
Reaction
1,322
Points
1,521
Age
23
working.png


yan pag unang run nya working pa po sya unang click pa lang ng submit button nyan tapos pag sa saunod na click ito na nalabas nya
Screenshot 2024-01-18 094618.png


pareho naman po may input number nila...

ito code ko sa JS...
Code:
document.getElementById("submit").addEventListener("click", action,);
document.getElementById("submit").addEventListener("click", reset,);
function action(){
    a = a.value;
    b = b.value;
    c = c.value;
    d = d.value;
    e = e.value;
    f = f.value;


    num1 = parseInt(a);
    num2 = parseInt(b);
    num3 = parseInt(c);
    num4 = parseInt(d);

    let total;

    switch (e){
        case "+":
            total = num1 + num2 + num3 + num4;
            break;
        case "-":
            total = num1 - num2 - num3 - num4;
            break;
        case "*":
            total = num1 * num2 * num3 * num4;
            break;
        case "/":
            total = num1 / num2 / num3 / num4;
            break;
    }

document.getElementById("show").innerHTML = `${num1} ${e} ${num2} ${e} ${num3} ${e} ${num4} = ${total}` ;
}

function reset(){
    clear = document.getElementById("1st");
    clear1 = document.getElementById("2ndNum");
    clear2 = document.getElementById("3rdNum");
    clear3 = document.getElementById("4thNum");
    clear4 = document.getElementById("operator");
    clear.value ="";
    clear1.value="";
    clear2.value="";
    clear3.value="";
    clear4.value="";
}
 

Attachments

Mayroon akong ilang mga obserbasyon sa iyong code:

1. Maaaring nagkakamali ang iyong code dahil mayroon kang mga global variables na ginagamit nang walang mga deklarasyon. Siguraduhin na nagdeklara ka ng mga variables a, b, c, d, e, at f bago gamitin ang mga ito sa action function.

2. Sa reset function, maaaring nagkakamali ka sa pagkuha ng mga elemento gamit ang document.getElementById(). Siguraduhin na ang mga IDs na iyong binibigay (1st, 2ndNum, 3rdNum, 4thNum, at operator) ay tumpak at angkop sa iyong mga input fields.

3. Sa iyong switch statement, hiniwa mo ang mga input numbers (num1, num2, num3, num4) gamit ang parehong operator (e). Siguraduhin na iyong ginagamit ang tamang mga variable para sa bawat pagkakataon. Halimbawa, gamitin ang + operator para sa unang paghahati, ang - operator para sa ikalawa, atbp.

Narito ang mga pagbabago na maaaring mong gawin sa iyong code:

JavaScript:
document.getElementById("submit").addEventListener("click", action);
document.getElementById("submit").addEventListener("click", reset);

function action() {
    let a = document.getElementById("1st").value;
    let b = document.getElementById("2ndNum").value;
    let c = document.getElementById("3rdNum").value;
    let d = document.getElementById("4thNum").value;
    let e = document.getElementById("operator").value;

    let num1 = parseInt(a);
    let num2 = parseInt(b);
    let num3 = parseInt(c);
    let num4 = parseInt(d);

    let total;

    switch (e) {
        case "+":
            total = num1 + num2 + num3 + num4;
            break;
        case "-":
            total = num1 - num2 - num3 - num4;
            break;
        case "*":
            total = num1 * num2 * num3 * num4;
            break;
        case "/":
            total = num1 / num2 / num3 / num4;
            break;
    }

    document.getElementById("show").innerHTML = `${num1} ${e} ${num2} ${e} ${num3} ${e} ${num4} = ${total}`;
}

function reset() {
    document.getElementById("1st").value = "";
    document.getElementById("2ndNum").value = "";
    document.getElementById("3rdNum").value = "";
    document.getElementById("4thNum").value = "";
    document.getElementById("operator").value = "";
}

Pagkatapos mong gawin ang mga nabanggit na pagbabago, subukan mong i-test ang iyong code upang makita kung gumagana na ito nang tama.
 
Mayroon akong ilang mga obserbasyon sa iyong code:

1. Maaaring nagkakamali ang iyong code dahil mayroon kang mga global variables na ginagamit nang walang mga deklarasyon. Siguraduhin na nagdeklara ka ng mga variables a, b, c, d, e, at f bago gamitin ang mga ito sa action function.

2. Sa reset function, maaaring nagkakamali ka sa pagkuha ng mga elemento gamit ang document.getElementById(). Siguraduhin na ang mga IDs na iyong binibigay (1st, 2ndNum, 3rdNum, 4thNum, at operator) ay tumpak at angkop sa iyong mga input fields.

3. Sa iyong switch statement, hiniwa mo ang mga input numbers (num1, num2, num3, num4) gamit ang parehong operator (e). Siguraduhin na iyong ginagamit ang tamang mga variable para sa bawat pagkakataon. Halimbawa, gamitin ang + operator para sa unang paghahati, ang - operator para sa ikalawa, atbp.

Narito ang mga pagbabago na maaaring mong gawin sa iyong code:

JavaScript:
document.getElementById("submit").addEventListener("click", action);
document.getElementById("submit").addEventListener("click", reset);

function action() {
    let a = document.getElementById("1st").value;
    let b = document.getElementById("2ndNum").value;
    let c = document.getElementById("3rdNum").value;
    let d = document.getElementById("4thNum").value;
    let e = document.getElementById("operator").value;

    let num1 = parseInt(a);
    let num2 = parseInt(b);
    let num3 = parseInt(c);
    let num4 = parseInt(d);

    let total;

    switch (e) {
        case "+":
            total = num1 + num2 + num3 + num4;
            break;
        case "-":
            total = num1 - num2 - num3 - num4;
            break;
        case "*":
            total = num1 * num2 * num3 * num4;
            break;
        case "/":
            total = num1 / num2 / num3 / num4;
            break;
    }

    document.getElementById("show").innerHTML = `${num1} ${e} ${num2} ${e} ${num3} ${e} ${num4} = ${total}`;
}

function reset() {
    document.getElementById("1st").value = "";
    document.getElementById("2ndNum").value = "";
    document.getElementById("3rdNum").value = "";
    document.getElementById("4thNum").value = "";
    document.getElementById("operator").value = "";
}

Pagkatapos mong gawin ang mga nabanggit na pagbabago, subukan mong i-test ang iyong code upang makita kung gumagana na ito nang tama.
ang code sa unang click lang button nag ra run sa ikalawang click di na nagana ang button
 
ang code sa unang click lang button nag ra run sa ikalawang click di na nagana ang button
Ang problema sa iyong code ay dahil ginagamit mo ang parehong event listener sa button para sa parehong action at reset functions. Dahil dito, kapag pinindot mo ang button, ang parehong functions ay tumatakbo nang sabay.

Para maayos ito, dapat mo alisin ang duplicate event listeners at isama ang reset function sa loob ng action function. Narito ang updated code na maaaring mong gamitin:

JavaScript:
document.getElementById("submit").addEventListener("click", action);

function action() {
    let a = document.getElementById("1st").value;
    let b = document.getElementById("2ndNum").value;
    let c = document.getElementById("3rdNum").value;
    let d = document.getElementById("4thNum").value;
    let e = document.getElementById("operator").value;

    let num1 = parseInt(a);
    let num2 = parseInt(b);
    let num3 = parseInt(c);
    let num4 = parseInt(d);

    let total;

    switch (e) {
        case "+":
            total = num1 + num2 + num3 + num4;
            break;
        case "-":
            total = num1 - num2 - num3 - num4;
            break;
        case "*":
            total = num1 * num2 * num3 * num4;
            break;
        case "/":
            total = num1 / num2 / num3 / num4;
            break;
    }

    document.getElementById("show").innerHTML = `${num1} ${e} ${num2} ${e} ${num3} ${e} ${num4} = ${total}`;

    reset();
}

function reset() {
    document.getElementById("1st").value = "";
    document.getElementById("2ndNum").value = "";
    document.getElementById("3rdNum").value = "";
    document.getElementById("4thNum").value = "";
    document.getElementById("operator").value = "";
}

Sa pag-update na ito, tinanggal ko ang duplicate event listener at inilagay ang reset function sa loob ng action function. Sa gayon, kapag pinindot mo ang button, ma-eexecute ang action function at pagkatapos nito, ang reset function ay tatakbo.

Subukan mong i-test ang iyong code gamit ang mga pagbabagong ito at tingnan kung nagana na ang button nang tama sa parehong pag-click.
 
Ang problema sa iyong code ay dahil ginagamit mo ang parehong event listener sa button para sa parehong action at reset functions. Dahil dito, kapag pinindot mo ang button, ang parehong functions ay tumatakbo nang sabay.

Para maayos ito, dapat mo alisin ang duplicate event listeners at isama ang reset function sa loob ng action function. Narito ang updated code na maaaring mong gamitin:

JavaScript:
document.getElementById("submit").addEventListener("click", action);

function action() {
    let a = document.getElementById("1st").value;
    let b = document.getElementById("2ndNum").value;
    let c = document.getElementById("3rdNum").value;
    let d = document.getElementById("4thNum").value;
    let e = document.getElementById("operator").value;

    let num1 = parseInt(a);
    let num2 = parseInt(b);
    let num3 = parseInt(c);
    let num4 = parseInt(d);

    let total;

    switch (e) {
        case "+":
            total = num1 + num2 + num3 + num4;
            break;
        case "-":
            total = num1 - num2 - num3 - num4;
            break;
        case "*":
            total = num1 * num2 * num3 * num4;
            break;
        case "/":
            total = num1 / num2 / num3 / num4;
            break;
    }

    document.getElementById("show").innerHTML = `${num1} ${e} ${num2} ${e} ${num3} ${e} ${num4} = ${total}`;

    reset();
}

function reset() {
    document.getElementById("1st").value = "";
    document.getElementById("2ndNum").value = "";
    document.getElementById("3rdNum").value = "";
    document.getElementById("4thNum").value = "";
    document.getElementById("operator").value = "";
}

Sa pag-update na ito, tinanggal ko ang duplicate event listener at inilagay ang reset function sa loob ng action function. Sa gayon, kapag pinindot mo ang button, ma-eexecute ang action function at pagkatapos nito, ang reset function ay tatakbo.

Subukan mong i-test ang iyong code gamit ang mga pagbabagong ito at tingnan kung nagana na ang button nang tama sa parehong pag-click.
ganun pa din sa unang try lang nagana ang code sa ikalawa di na nagana
 
ganun pa din sa unang try lang nagana ang code sa ikalawa di na nagana
Upang maayos ang problema na nangyayari sa code mo, maaaring idagdag mo ang e.preventDefault() sa action function para maiwasan ang default na pag-uugali ng button na mag-refresh ng page. Narito ang iyong updated code:

```javascript
document.getElementById("submit").addEventListener("click", action);

function action(e) {
e.preventDefault(); // Idagdag ang line na ito

let a = document.getElementById("1st").value;
let b = document.getElementById("2ndNum").value;
let c = document.getElementById("3rdNum").value;
let d = document.getElementById("4thNum").value;
let e = document.getElementById("operator").value;

let num1 = parseInt(a);
let num2 = parseInt(b);
let num3 = parseInt(c);
let num4 = parseInt(d);

let total;

switch (e) {
case "+":
total = num1 + num2 + num3 + num4;
break;
case "-":
total = num1 - num2 - num3 - num4;
break;
case "*":
total = num1 * num2 * num3 * num4;
break;
case "/":
total = num1 / num2 / num3 / num4;
break;
}

document.getElementById("show").innerHTML = ${num1} ${e} ${num2} ${e} ${num3} ${e} ${num4} = ${total};

reset();
}

function reset() {
document.getElementById("1st").value = "";
document.getElementById("2ndNum").value = "";
document.getElementById("3rdNum").value = "";
document.getElementById("4thNum").value =
 

Similar threads

Back
Top