Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Michal
Člen
Avatar
Michal:20.2.2015 8:55

Dobrý den,
nemáte někdo script jednoduchý formular v JS?
Potrebuji:
Jmeno Prijmeni
Adresa, PSC
Pocet ks x nazev produktu x cena x cena celkem
Celkova cena
Doprava
Celkova cena s dopravou
(Kdyz je soucet obj. produktů vyšší než urcita castka , tak doprava je nizsi)
Aby to posilalo na email mně a zakaznikovi Diky moc všem Michal

 
Odpovědět
20.2.2015 8:55
Avatar
Aleš Lulák
Člen
Avatar
Odpovídá na Michal
Aleš Lulák:20.2.2015 9:24

Ahoj,

rychlá odpověď = v javascriptu nelze vytvořit posílání emailů.

PHP: http://www.itnetwork.cz/…ovy-formular
.NET: http://www.itnetwork.cz/…ha-formularu nebo http://www.itnetwork.cz/…ha-formularu

Samozřejmě ukazovat v JS něco na základě jiné hodnoty je možno.
Např: http://jsfiddle.net/at87z3r9/1/ (když cena je 1000 a výš, cena za dopravu je menší)

Editováno 20.2.2015 9:26
Nahoru Odpovědět
20.2.2015 9:24
"I disapprove of what you say, but I will defend to the death your right to say it" - Evelyn Beatrice Hall
Avatar
Aleš Lulák
Člen
Avatar
Odpovídá na Aleš Lulák
Aleš Lulák:20.2.2015 9:28

*drobná chyba, v podmínce má být samozřejmě 1000

Nahoru Odpovědět
20.2.2015 9:28
"I disapprove of what you say, but I will defend to the death your right to say it" - Evelyn Beatrice Hall
Avatar
Michal
Člen
Avatar
Odpovídá na Aleš Lulák
Michal:20.2.2015 10:55

Ahoj, díkes za pomoc ;-) a nevíš jak mám zadat v PHPku aby chodily udaje i na email, který vyplní zákazník? Celé mi to odesílá v pohodě, jen mně to chodí jenom na můj email $to (prijem@objednavek.cz), potřebuju aby kopie objednavky prisla i tomu zakaznikovi resp. na ten email, který vyplní ve formuláři.

Takhle prijde email. zprava na muj mail kde je odesílatel, ten kdo vyplnoval formular:

<?php
$to = "prijem@objed­navek.cz";
$from = "From: " .$_POST['email'];
$subject = "Objednavka";

Poradíš prosím? Moc díky

Michal

 
Nahoru Odpovědět
20.2.2015 10:55
Avatar
Odpovídá na Michal
Michal Šmahel:20.2.2015 12:23

Když do $to dáš čárku a za ni $_POST s jeho mail-em.

Nahoru Odpovědět
20.2.2015 12:23
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
Odpovídá na Michal
Michal Šmahel:20.2.2015 12:34
$to = "[email protected], $_POST['email']";
Nahoru Odpovědět
20.2.2015 12:34
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
Michal
Člen
Avatar
Odpovídá na Aleš Lulák
Michal:20.2.2015 16:25

Ještě jednou díky, mám ale trochu problém, mám více řádků:
pocek sk x nazev produktu x cena
pocek sk x nazev produktu x cena
.
.
.
atd.
Celkově mi cenu sčítá, ale u jednoho řádku u toho prvního mi to dává jinou cenu dopravy tu nižší a má být vyšší, u druhého řádku už to přiřazuje správně..
Vubec nevim co s tím :(

diky Michal

http://jsfiddle.net/at87z3r9/1/

 
Nahoru Odpovědět
20.2.2015 16:25
Avatar
Aleš Lulák
Člen
Avatar
Odpovídá na Michal
Aleš Lulák:20.2.2015 16:55

Obavám se, že jsi neposlal správný odkaz :)

Nahoru Odpovědět
20.2.2015 16:55
"I disapprove of what you say, but I will defend to the death your right to say it" - Evelyn Beatrice Hall
Avatar
Michal
Člen
Avatar
Odpovídá na Aleš Lulák
Michal:20.2.2015 17:15

Jezis promin :)

Ono mi to pocita v poho..ale jen tu dopravu z prvniho radku resp. z toho ktery vyplnim jako prvni :) pak kdyz vyplnuju dale tak celkovou cenu to scita ale tu vysi dopravy to ponechava z toho prvniho vyplneni radku
http://jsfiddle.net/at87z3r9/3/

diky moc , Michal

 
Nahoru Odpovědět
20.2.2015 17:15
Avatar
Michal
Člen
Avatar
Odpovídá na Aleš Lulák
Michal:20.2.2015 18:16

ahoj, tak uz mi to nejak nepocita vubec :(
moc tem scriptum tolik nerozumim , nahral sem ten formular kompletne

http://jsfiddle.net/mox2wmz6/

 
Nahoru Odpovědět
20.2.2015 18:16
Avatar
Aleš Lulák
Člen
Avatar
Odpovídá na Michal
Aleš Lulák:22.2.2015 15:17

Já osobně nesnáším proplétání kódů, takže bych všechny html atributy jako onChange a onBlur smazal a vše bych psal přímo do JS, ale to asi přímo nevadí.

K tvému problému.

theform.cenac1.value = parseInt(theform.ks1.value) * parseInt(theform.cenap1.value);

Tohle by asi mohlo fungovat, ale jak tak koukám do ceny za dopravu, tak to nebudou všechno asi celočíselný ceny, takže nemůžeš použít integery, ale místo nich přijdou na řadu floaty, což jsou právě čísla i s desetinou čárkou.
Otázka je, jestli přesně ještě potřebuješ násobit nějkou jinou hodnotu, jelikož zadáváš jen množství, nikoli cenu. Tedy by to bylo množství * předem daná cena.

Nijak bych to zbytečně neřešil a udělal bych si to přes dvě pole, což asi není nejlepší způsob, ale pro tohle nám to postačí. Jedno pole by bylo právě nastavené jako oné ceny a druhé pole by byly hodnoty množství.

Příkladově si to můžeme udělat takhle:

ceny = [];
cena[0] = 23.50;
cena[1] = 15.50;
cena[2] = 100;

Nebo možná ještě líp, přes asociativní pole (ehm, vlastně objekt), ale nebude nám fungovat nižší způsob sčítaní.

cena={mrkev: 23.50, jablko: 15.50, meloun: 100};

Druhé pole už by byly kusy:

kusy = document.getElementsByClass("kus"); //v tvém případě asi spíš document.getElementsByName
kusy[0].value;
//…
celkovaCena = cena[0] * parseInt(kusy[0].value);  //nebo cena[“mrkev”], nebo cena.mrkev ;

Pro součet musíš vše připočítávat do jedné proměnné a to je důvod proč mě prvně napadla ta pole, bude stačit to projet cyklem.

var celkovaCena;
for (var i = 0; i < cena.length; i++) {
        celkovaCena += cena[i] * parseInt(kusy[i].value);
}

Pote uz stačí udělat zase podmíku s cenou dopravy a je to. Jen zase připomenu floaty, pokud cena za dopravu bude třeba 28,61, budeš si to muset sečíst jako floaty.

celkovaCena = parseFloat(celkovaCena) + parseFloat(doprava);

Také si dej si pozor na formát floatu, měl by být oddělený tečkou nikoli čárkou, tedy 28.61. Pokud si budeš muset použít čárku, při parsování ještě změň čárku za tečku.

parseFloat(doprava.replace(",","."));

Samozřejmě jsou tu i jiná řešení, nemusíš si třeba dělat cyklus a můžeš to sečíst ručně.

Doufám, že to alespoň trochu pomohlo.

Editováno 22.2.2015 15:19
Nahoru Odpovědět
22.2.2015 15:17
"I disapprove of what you say, but I will defend to the death your right to say it" - Evelyn Beatrice Hall
Avatar
Michal
Člen
Avatar
Odpovídá na Aleš Lulák
Michal:22.2.2015 19:08

Ahoj,
díky moc za pomoc ;)
Ještě bych potřeboval, aby mi to posílalo na email IP adresu toho, kdo pošle data z formuláře. A to vůbec netuším, jak provést, protože to není php stránka, ale HTML, přes PHPčkovou stránku se pouze údaje odesílají. Nevíš jak to pořešit?
Ještě jednou mooooc díky
Michal

 
Nahoru Odpovědět
22.2.2015 19:08
Avatar
Aleš Lulák
Člen
Avatar
Odpovídá na Michal
Aleš Lulák:23.2.2015 19:46

Bohužel si javascriptem IP nezjistíš.

Ale jak tak koukám, tak budou nějaké workaroundy třetích stran např. http://l2.io/, demo http://jsfiddle.net/9ZrLz/, a vůbec by bylo dobré si to udělat sám od sebe tímhle způsobem.

Poté si tuto proměnou předej pomocí AJAXu tam, kde posíláš emaily, a nebo pokud to máš úplně vedle, můžeš si to předat stejným způsobem jako se dělá pixel tracking.
Krásnej jednoduchej návod na pixel tracking v php zde http://stackoverflow.com/…9838/3066751

Nahoru Odpovědět
23.2.2015 19:46
"I disapprove of what you say, but I will defend to the death your right to say it" - Evelyn Beatrice Hall
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 13 zpráv z 13.