Multiple submits v php formi
 
AD 25. avg 2010 20:42:01 Pridružen od:
5. jun 2007
519 objav
166 35 3
#1

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/


všeč(0) ni všeč(0) spam(0)
 
juresl 26. avg 2010 09:46:05 Pridružen od:
16. avg 2007
209 objav
74 23 4
#2

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>
všeč(3) ni všeč(0) spam(0)
 
AD 26. avg 2010 14:53:33 Pridružen od:
5. jun 2007
519 objav
166 35 3
#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?


všeč(0) ni všeč(0) spam(0)
 
juresl 26. avg 2010 15:06:13 Pridružen od:
16. avg 2007
209 objav
74 23 4
#4

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()"
všeč(2) ni všeč(0) spam(0)
 
AD 26. avg 2010 15:58:07 Pridružen od:
5. jun 2007
519 objav
166 35 3
#5

Tudi to je lahko rešitev.



thx


všeč(0) ni všeč(0) spam(0)
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se