Předání hodnoty z jquery do proměnne
- t0x1c
- Člen | 151
Zdravím mam takový problem (další..) :D Mám košík a v něm se mi pomocí jquery vypočíta celková cena všech položek tuto cenu vypisuju pomoci jquery a potom bych si ji chtěl uložit do sessionu. Ulozeni do sessionu resim pomoci handlu pri kliku na tlacitko nebo odkaz pokračovat. Problem je v tom že si nevím rady jak do proměnne a nebo přímo do toho odkazu odkazujiciho na handle vložit tu celkovou cenu ktera je uložena v proměnne v jquery. Snad jsme to napsal tak že se to dá pochopit. Je tedy nějaka možnost jak můj problem vyřešit? Díky
- Paradiso
- Člen | 101
Ahoj,
S tou cenou opatrně. Jestli je to jen pro informace pro zákazníka tak ok,
ale jinak by ti tam někdo mohl podstrčit nějakou nesmyslnou částku, takže
s ní moc nepočítej.
s tím i souvisí session
Session je serverová proměnná. Takže se k ní, nebo do ní můžeš dostat
přes ajax, ale přímo s js ne.
jinak do odkazu jí vložíš jednoduše, např.:
<a href="odkaz" id="idodkazu"></a>
var link = $("#idodkazu").attr("href");
$("#idodkazu").attr("href") = link.'idsession';
možná to jde i elegantněji, ale to se chce kouknout do dokumentace jquery
Editoval Paradiso (15. 11. 2012 19:06)
- llook
- Člen | 407
Já to dělám takhle:
$.get({link handle!}, { "promenna": hodnota };
Pokud používáš nette.ajax.js, tak asi bude ještě lepší nějak to navěsit na jeho události (asi before nebo start).
- t0x1c
- Člen | 151
llook napsal(a):
Já to dělám takhle:
$.get({link handle!}, { "promenna": hodnota };
Pokud používáš nette.ajax.js, tak asi bude ještě lepší nějak to navěsit na jeho události (asi before nebo start).
Toto jse pravě zkoušel no a nefungovalo mi to nette.ajax.js používam asi proto no. Zkusim teda prvni možnost a kdyžtak uvidím díky za odpovědi :)
Editoval t0x1c (15. 11. 2012 19:37)
- t0x1c
- Člen | 151
Tak nevím jestli to dělám blbě ale udělal jsem tedy droidové řešení i řešení ostatních a nejde. Podle droidoveho řešení jsem udělal do JS
$('#pokracovat').click(function(){
$.get({link dalsi_krok!}+"&cena_celkem="+pomocna_cena_celkem);
});
<a href="#" id="pokracovat" ><p>Pokračovat</p></a>
Mám to blbě?
Editoval t0x1c (15. 11. 2012 23:10)
- studna
- Člen | 181
Tohle je spíš věc jQuery/JS. Ale..
$(function() {
$('#pokracovat').live("click", function(){
var pomocna_cena_celkem = 0;
// tady budeš mít počítání ceny, kde zjistíš hodnotu pomocna_cena_celkem
$.get({link dalsiKrok!}+"&cena="+pomocna_cena_celkem);
// melo by ti to poslat pozadavek na url ..&do=dalsiKrok&cena=1234
});
}
Jinak mi to přijde trochu zbytečné, možná nebezpečné – že počítáš sumu položek na straně klienta a následně ji pošleš zpět na server. Není jednodušší to spočítat na straně serveru a pak to jednoduše naservírovat zákazníkovi?
- ViPEr*CZ*
- Člen | 817
Jak tu někdo psal… na cenu bych to rozhodně nepoužíval.
Nepoužívejte live, ale novější on:
$(function () {
$('#pokracovat').on("click", function(e){
$.get({link dalsiKrok!}+"&cena="+pomocna_cena_celkem);
e.preventDefault();
});
}
<a href="#" id="pokracovat" ><p>Pokračovat</p></a>
a hlavně to bude chtít ještě jednou ten manuál. ;-)
- ViPEr*CZ*
- Člen | 817
t0×1c napsal(a):
A co by jsi radil na cenu? Uložit do db? Nebo mysliš vubec nepoužívat jquery na cenu?
No celková cena by se měla vypočítat podle DB (podle cen zboží… nevím kde jsou v tomto případě uložený) a nejspíš by se měla i uložit, protože zboží se může přecenit v době vyřizování objednávky a pak by to mohlo dělat bordel.
- t0x1c
- Člen | 151
Jo ale zboží nemá stalou cenu jedná se o gamehosting. U položek se ještě následně vybírá počet slotů a doba pronájmu. Ja tam mám pravě jquery že to počítá v tom košíku hned a pak jsem chtěl použít tu hodnotu. Jsem v tomhle tom nováček takže jsem použil nejjednodušší řešení jaké mě napadlo.