Multiple submits v php formi

Bi rabil eno pomoč, ker nisem ravno php expert...

V svoj wordpress post sem vključil externi javascrip file.

  1. v predlogo header.php sem dal tole kodo za <body>
<form name="form" id="form">
  1. v post pa sem vkjučil sklic na javascript kodo
<p><script src="http://www.osebnitrener.si/js/su.js" type="text/javascript"></script></p>
<input onclick="calculateBM()" name="izracun" type="button" value="Izračun" tabindex="3" />
<input onclick="calculateBM()" name="clear" type="reset" value="Ponastavi" tabindex="4" />

Javascript lepo deluje vendar problem je ko potem ne delajo komentarji v postu, ki so tudi vezani na post button od komentarja. Če zakometiram

<form name="form" id="form">

spet komentarji delujejo pravilno vendar se ne izvrši javascripta.

Mogoče kdo ve kako bi rešil, da bi obe zadevi funkcionirale. Verjetno bi bilo potrebno nekam vstaviti if stavek, da bi preveril kateri submit button je kliknjen...

primer kode si lahko ogledate:
http://3xw.hujsanje.net/osebnitrener/srcni-utrip/

4 odgovori

Malo sem ti spremenil, da nerabiš dodat <form> taga spredaj... mislim, da bi moglo delat.

function calculateBM() {
    var starost = document.getElementById('starost').value;

    if (starost=="0") {
        alert("Vnesite vsa zahtevana polja!")
    } else {
        var sumax = 220-starost;
        var suminm = sumax * 0.6;
        var sumaxm = sumax * 0.7;
        var suminae = sumax * 0.7;
        var sumaxae = sumax * 0.9;
        var suminan = sumax * 0.9;
        var sumaxan = sumax;
        suminmk = suminm.toFixed(0);
        sumaxmk = sumaxm.toFixed(0);
        suminaek = suminae.toFixed(0);
        sumaxaek = sumaxae.toFixed(0);
        suminank = suminan.toFixed(0);
        sumaxk = sumax.toFixed(0);
        document.getElementById('pulzminm').value = suminmk;
        document.getElementById('pulzmaxm').value = sumaxmk;
        document.getElementById('pulzminae').value = suminaek;
        document.getElementById('pulzmaxae').value = sumaxaek;
        document.getElementById('pulzminan').value = suminank;
        document.getElementById('pulzmaxan').value = sumaxk;
    }
}
<p><strong>Starost</strong>:</p>
<input id="starost" name="starost" size="3" value="0" /> leta</p>
<input onclick="calculateBM()" name="izracun" type="button" value="Izračun" tabindex="3" />
<input onclick="calculateBM()" name="clear" type="reset" value="Ponastavi" tabindex="4" />
<h2>Priporočene vrednosti srčega utripa:</h2>
<p><strong>izguba maščob</strong>:</p>
<input name="pulzminm" id="pulzminm" size="3" value="0" />
<input name="pulzmaxm" id="pulzmaxm" size="3" value="0" /> ud/min<br />
<p><strong>aerobna vadba:</strong></p>
<input name="pulzminae" id="pulzminae" size="3" value="0" />
<input name="pulzmaxae" id="pulzmaxae" size="3" value="0" /> ud/min<br />
<p><strong>anaerobna vadba:</strong></p>
<input name="pulzminan" id="pulzminan" size="3" value="0" />
<input name="pulzmaxan" id="pulzmaxan" size="3" value="0" /> ud/min</p>
3

Je rešitev ja, superca.
Samo Ponastavi gumb mi še ne deluje brez

<form name="form" id="form">

.

Če kliknem nanj mi ravno tako izvrši akcijo kot gumb Izračun.
Kaj bi moral še popravi?

Najpreprosteje je, da ustvariš novo funkcijo..

function clearField() {
    document.getElementById('starost').value = 0;
    document.getElementById('pulzminm').value = 0;
    document.getElementById('pulzmaxm').value = 0;
    document.getElementById('pulzminae').value = 0;
    document.getElementById('pulzmaxae').value = 0;
    document.getElementById('pulzminan').value = 0;
    document.getElementById('pulzmaxan').value = 0;
}

in spremeniš onClick event pri Ponastavi gumbu na:

onclick="clearField()"
2

Tudi to je lahko rešitev.

thx