| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
BebeF
Data înscrierii: 11/Iul/2005
Mesaje: 56
|
| Trimis: Joi Iul 24, 2008 6:06 pm Titlul subiectului: Vreau sa fac cel mai usor script pentru cos de cumparaturi |
|
|
salut. Am de gand sa fac un script foarte simplu de cos de cumparaturi ca sa aiba toata lumea folosi cu usurinta. Insa sunt incepator si am nevoie de putin ajutor. Aici aveti un script foarte simplu pe care l-am facut (stiu ca pt voi e simplu), si rog pe cineva sa ma ajute.
1. In primul rand cum fac sa dispara butonul "Calculeaza". Trebuie sa fie o modalitate de a calcula numai daca dai click oriunde in pagina.
2. Pot sa fac separat sa calculez valoarea fiecarui produs in parte, insa apoi tre sa le adun. Nu stiu sa fac asta.
<html>
<head>
<script language="JavaScript">
function temp(form)
{
var f = parseFloat(form.DegF.value, 10);
var i = parseFloat(form.DegI.value, 10);
var a = parseFloat(form.Dega.value, 10);
var b = parseFloat(form.Degb.value, 10);
var T = 0;
T = (f + i + b + a) ;
form.DegC.value = T;
}
// inceput de script -->
</script>
</head>
<body>
<form name="Form" method="post" action="trimite.php" onSubmit="return emailCheck()">
<h2>Televizor - 30.00 RON
<INPUT NAME="DegF" VALUE="0" MAXLENGTH="25" SIZE=25><INPUT NAME="calc" VALUE="Calculeaza" TYPE=BUTTON
<p>Masina - 10.00 RON
<INPUT NAME="DegI" VALUE="0" MAXLENGTH="25" SIZE=25><INPUT NAME="calc" VALUE="Calculeaza" TYPE=BUTTON
<p>Computer - 5.00 RON
<INPUT NAME="Dega" VALUE="0" MAXLENGTH="25" SIZE=25><INPUT NAME="calc" VALUE="Calculeaza" TYPE=BUTTON
<p>Napolitane - 23.00 RON
<INPUT NAME="Degb" VALUE="0" MAXLENGTH="25" SIZE=25><INPUT NAME="calc" VALUE="Calculeaza" TYPE=BUTTON
<p>
Total:
<INPUT NAME="DegC" READONLY SIZE=25><INPUT NAME="calc" VALUE="Calculeaza" TYPE=BUTTON
onClick=temp(this.form)>
<p>
</FORM>
</body>
</html> |
|
| Sus |
|
dj kaz
Data înscrierii: 19/Iul/2008
Mesaje: 2
Locație: Bacau
|
| Trimis: Vin Iul 25, 2008 10:07 pm Titlul subiectului: |
|
|
uite aici codul tau refacut:) ai uitat sa pui la sfarsit semnul ">"
<html>
<head>
<script language="JavaScript">
function temp(form)
{
var f = parseFloat(form.DegF.value, 10);
var i = parseFloat(form.DegI.value, 10);
var a = parseFloat(form.Dega.value, 10);
var b = parseFloat(form.Degb.value, 10);
var T = 0;
T = (f + i + b + a) ;
form.DegC.value = T;
}
// inceput de script -->
</script>
</head>
<body>
<form name="Form" method="post" action="trimite.php" onSubmit="return emailCheck()">
<h2>Televizor - 30.00 RON
<INPUT NAME="DegF" VALUE="0" MAXLENGTH="25" SIZE=25>
<p>Masina - 10.00 RON
<INPUT NAME="DegI" VALUE="0" MAXLENGTH="25" SIZE=25>
<p>Computer - 5.00 RON
<INPUT NAME="Dega" VALUE="0" MAXLENGTH="25" SIZE=25>
<p>Napolitane - 23.00 RON
<INPUT NAME="Degb" VALUE="0" MAXLENGTH="25" SIZE=25>
<p>
Total:
<INPUT NAME="DegC" READONLY SIZE=25><INPUT NAME="calc" VALUE="Calculeaza" TYPE=BUTTON
onClick=temp(this.form)>
<p>
</FORM>
</body>
</html> |
|
| Sus |
|
BebeF
Data înscrierii: 11/Iul/2005
Mesaje: 56
|
| Trimis: Vin Iul 25, 2008 10:25 pm Titlul subiectului: |
|
|
mna, mergea si fara. Nu m-ai ajutat prea mult.
As vrea sa realizez o functie care sa-mi calculeze totalul fara sa apas butonul "calculeaza". Deci butonul tre sa-l fac hidden, si cand apas orinde pe pagina sa-mi calculeze direct. Uite un exemplu pe http://www.amaltea.ro/comanda.php dar e un script tare greoi. Eu vrea sa realizez ceva foarte simplu. Acuma ma chinui. Deocamdata nu reusesc, de aia vroiam ceva ajutor. |
|
| Sus |
|
dechim
Data înscrierii: 10/Mai/2005
Mesaje: 631
Locație: Drobeta Turnu Severin
|
| Trimis: Vin Iul 25, 2008 11:12 pm Titlul subiectului: |
|
|
Stergi butonul "calc" si la fiecare "input" il pui sa faca calculele la aparitia evenimentului "onblur" :
<input name="DegF" value="0" maxlength="25" size=25 onblur="temp(this.form);" />
Sunt variante si mai elegante dar incearca asta pana mai avansezi. |
|
| Sus |
|
BebeF
Data înscrierii: 11/Iul/2005
Mesaje: 56
|
| Trimis: Sâm Iul 26, 2008 7:57 am Titlul subiectului: |
|
|
| da, fain, si ce simpu era. Acuma incerc sa fac sa calculez separat numarul de exemplare * pretul. Va tin la curent. |
|
| Sus |
|
dechim
Data înscrierii: 10/Mai/2005
Mesaje: 631
Locație: Drobeta Turnu Severin
|
| Trimis: Sâm Iul 26, 2008 5:43 pm Titlul subiectului: |
|
|
Da' PHP si MySQL nu folosesti ?
De unde aduci produsele si preturile, le scrii direct in pagina HTML ? |
|
| Sus |
|
BebeF
Data înscrierii: 11/Iul/2005
Mesaje: 56
|
| Trimis: Sâm Iul 26, 2008 5:49 pm Titlul subiectului: |
|
|
| da. Preturile si pozele produselor le scriu in html. Toate or sa fie intr-un form (ex. <form name="Form" method="post" action="trimite.php" onSubmit="return emailCheck()"> ) care dupa completarea campurilor, rezultatele se duc direct in fosierul php, adica prin mail la mine. |
|
| Sus |
|
BebeF
Data înscrierii: 11/Iul/2005
Mesaje: 56
|
| Trimis: Sâm Iul 26, 2008 7:10 pm Titlul subiectului: |
|
|
Prieteni, 90% e GATA! Mai am doar o mica problema. Faceti butonul "Calculate" hidden si cele 2 inputText de la suma. Vreau ca aceste calcule sa le faca in background. Hai prieteni, suntem pe ultima 100 de m.
<html>
<head>
<script language="JavaScript">
function temp(form)
{
var f = parseFloat(form.DegF.value, 10);
var T = 0;
T = (f * 20) ;
form.DegC.value = T;
}
function mama(form)
{
var f = parseFloat(form.DegG.value, 10);
var T = 0;
T = (f * 10) ;
form.DegD.value = T;
}
function tata(form)
{
var f = parseFloat(form.DegC.value, 10);
var i = parseFloat(form.DegD.value, 10);
var T = 0;
T = (f + i) ;
form.Total.value = T;
}
// done hiding from old browsers -->
</script>
</head>
<body>
<FORM>
<h2>Casete 20.00
<INPUT NAME="DegF" VALUE="0" MAXLENGTH="25" SIZE=25 onChange="temp(this.form);">
<p>
<h2>Calculator 10.00
<INPUT NAME="DegG" VALUE="0" MAXLENGTH="25" SIZE=25 onChange="mama(this.form);">
<p>
Suma este:
<INPUT NAME="DegC" READONLY SIZE=25>
<INPUT NAME="DegD" READONLY SIZE=25 ><p>
<p>
Apasa butonul pentru a calcula:
<INPUT NAME="calc3" VALUE="Calculate" TYPE=BUTTON
onClick=tata(this.form)>
<INPUT NAME="Total" READONLY SIZE=25 >
</FORM>
</body>
</html>
|
|
| Sus |
|
dechim
Data înscrierii: 10/Mai/2005
Mesaje: 631
Locație: Drobeta Turnu Severin
|
| Trimis: Dum Iul 27, 2008 12:28 am Titlul subiectului: |
|
|
- La cele doua campuri unde introduci cantitatea pui :
onblur="return temp(this.form) && tata(this.form);"
- Iar functiilor la adaugi la sfarsit:
return true;
- Campurile de suma intermediara nu-si au rostul dar daca vrei sa ramana asa si sa nu se vada, trebuie :
<input type="hidden" name="DegC" value="0" readonly size=25 />
Scuze, nu vreau sa te descurajez dar esti foarte foarte departe de adevar, invata macar sintaxa HTML ca si acolo ai multe greseli. De ex. tag-ul <h2> nu-i inchis, tag-urile input n-au atributul "type", ... |
|
| Sus |
|
BebeF
Data înscrierii: 11/Iul/2005
Mesaje: 56
|
| Trimis: Dum Iul 27, 2008 7:37 am Titlul subiectului: |
|
|
| vezi ca e gresit la ce ai scris tu. Merge doar pentru primul camp. La al doilea nu calculeaza automat TOTAL-ul decat daca apesi butonul. |
|
| Sus |
|
dechim
Data înscrierii: 10/Mai/2005
Mesaje: 631
Locație: Drobeta Turnu Severin
|
| Trimis: Dum Iul 27, 2008 11:30 am Titlul subiectului: |
|
|
Asa e !
La al 2-lea camp trebuie:
onblur="return mama(this.form) && tata(this.form);" |
|
| Sus |
|
BebeF
Data înscrierii: 11/Iul/2005
Mesaje: 56
|
| Trimis: Dum Iul 27, 2008 11:42 am Titlul subiectului: |
|
|
ok prieteni. Scriptul e GATA. Multumesc lui Dechim. Asta e cel mai usor cos de cumparaturi. Nu aveti nevoie de cunostinte java avansate. Mult succes.
PS. Nu uitati sa va faceti singuri designul. Nu m-am straduit sa fac css.
-------------------------------------
<html>
<head>
<script language="JavaScript">
function temp(form)
{
var f = parseFloat(form.DegF.value, 10);
var T = 0;
T = (f * 20) ;
form.DegC.value = T;
return true;
}
function mama(form)
{
var f = parseFloat(form.DegG.value, 10);
var T = 0;
T = (f * 10) ;
form.DegD.value = T;
return true;
}
function tata(form)
{
var f = parseFloat(form.DegC.value, 10);
var i = parseFloat(form.DegD.value, 10);
var T = 0;
T = (f + i) ;
form.Total.value = T;
return true;
}
// done hiding from old browsers -->
</script>
</head>
<body>
<FORM>
<h2>Casete 20.00
<INPUT NAME="DegF" VALUE="0" MAXLENGTH="25" SIZE=25 onblur="return temp(this.form) && tata(this.form);" >
<p>
<h2>Calculator 10.00
<INPUT NAME="DegG" VALUE="0" MAXLENGTH="25" SIZE=25 onblur="return mama(this.form) && tata(this.form);">
<p>
<input type="hidden" name="DegC" value="0" readonly size=25 />
<input type="hidden" name="DegD" value="0" readonly size=25 /> <p>
<p>
Suma este:
<INPUT NAME="calc3" type="hidden"
onFocus=tata(this.form)>
<INPUT NAME="Total" READONLY SIZE=25 >
</FORM>
</body>
</html>
-------------------------------------------------------------------------- |
|
| Sus |
|
dechim
Data înscrierii: 10/Mai/2005
Mesaje: 631
Locație: Drobeta Turnu Severin
|
| Trimis: Lun Iul 28, 2008 1:36 am Titlul subiectului: |
|
|
Exercitiul e bun, dar fa-l si corect !
De mers merge dar nu-i normal sa-l lasi cu greseli.
* La ce foloseste :
<INPUT NAME="calc3" type="hidden" onFocus=tata(this.form)> ?
* Unde se inchid tag-urile <h2>
* este bine sa pui atributul "type" tag-ului "input"
* In codul JS nu se introduc constante direct in expresii cum ai tu aici :
var T = 0;
T = (f * 20) ;
unde 20 este pretul casetelor. Iti dai seama ce greu va fi sa modifici ?
De ce codul asta nu ti se pare simplu de inteles si de modificat ?
Cod:
<html>
<head>
<script type="text/Javascript" language="JavaScript">
// Aici pui produsele si preturile
produse = new Array();
produse[0] = new Array('Televizor',300);
produse[1] = new Array('Computer', 500);
produse[2] = new Array('Masina',1500);
produse[3] = new Array('Napolitane',1.5);
produse[4] = new Array('Dulap 2 usi',150);
produse[5] = new Array('Auto Q7',100000);
// end produse
function caltot()
{
var tott = 0;
var totx = 0;
for (i=0;i<produse.length;i++)
{
var pret = parseFloat(document.getElementById('pret'+i.toString()).value);
var cant = parseInt(document.getElementById('cant'+i.toString()).value);
document.getElementById('cant'+i.toString()).value = cant;
totx = pret*cant;
tott += totx;
document.getElementById('val'+i.toString()).value = totx.toString();
}
document.getElementById('tot').value = tott.toString();
}
function emailCheck()
{
alert('Am trimis!');
return false;
}
</script>
<style type="text/css"> input:disabled { background-color:#ffffff;}</style>
</head>
<body>
<form name="form1" method="post" action="trimite.php" onsubmit="return emailCheck()">
<table width="50%">
<tr><td>Produs</td><td>Pret<br />[RON]</td><td>Cantitate<br />[buc]</td><td>Valoare<br />[RON]</td></tr>
<script type="text/Javascript" language="JavaScript">
for (i=0;i<=produse.length-1;i++)
{
document.write('<tr><td>'+
'<input type="text" name="prod[]" id="prod'+i.toString()+'" value="'+ produse[i][0]+'" disabled="disabled" >' +
'</td><td>'+
'<input type="text" name="pret[]" id="pret'+i.toString()+'" value="'+ produse[i][1].toString()+'" disabled="disabled" >' +
'</td><td>'+
'<input type="text" name="cant[]" id="cant'+i.toString()+'" value="0" onchange="caltot();" >' +
'</td><td>'+
'<input type="text" name="val[]" id="val'+i.toString()+'" value="0" disabled="disabled" >' +
'</td></tr>');
}
</script>
<tr><td colspan="3">Total</td>
<td><input type="text" name="tot" id="tot" value="0" disabled="disabled"></td></tr>
</table>
<br /><input type="submit" name="trimite" value="Trimite" />
</form>
</body>
</html>
Nu am zis nimic cu rautate, am vrut sa te ajut !
Inca nu considera ca ai facut ceva, chiar daca nu-ti dai seama ca asa e. Spor ! |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |