n:href predanie parametra pomocou jquery
- Lukass445
- Člen | 19
Zdravím,
do handle-u predávam parametre klasicky takto:
<a n:href="valueChange! $item->id, $item->value">
rád by som ale parameter c.2, teda $item->value predal cez jquery
z inputu.
Vysvetlím, ako by som si to predstavoval:
<a n:href="valueChange! $item->id, $nette.jquery('#edit_value_'.$item->id).val()">
viem, že som náročný, no zjednodušilo by mi to prácu, ak by bolo možné danú hodnotu podobným princípom posunúť handle fcii v mojom presenteri.
- Aurielle
- Člen | 1281
V těchto případech musíš bohužel tvorbu odkazů obcházet a při kliknutí si hodnotu to předgenerovaného odkazu doplnit sám. Už z principu totiž nemůžeš kombinovat Latte zápis s jQuery, neboť Latte se kompiluje na serveru a Javascript až u klienta. Nebo to nějakým způsobem refaktorovat, třeba jako formulář.
- Lukass445
- Člen | 19
Vďaka za odpoveď,
vymyslel som ale niečo iné. Nechcel som sa totiž zaťažovať formulármi, ak ide len o jednu hodnotu v riadku a tá editácia je pre všetky riadky prístupná.
Ide v podstate o administráciu latte poľa – $settings (ktoré je prístupné globálne, zadefinované v base presenteri) s kĺúčom name a hodnotou Hodnota
takze linku som pridal onclick=„return false;“ a nabindoval som si nan vlastny on click JS script:
var item_id = $(this).attr('item-data'); // umely atribut, ktory som pridal anchoru
var item_value = $('#part_page_table_value_1_'+item_id).val(); // takto dostanem hodnotu v inpute
var _href = $("#part_page_table_value_2_" + item_id).attr('href'); // aktualna linka, na moj handle
$("#part_page_table_value_2_" + item_id).attr('href', _href.replace(/value=[^&]+/, 'value='+item_value)); // takto zmenim handle-u linku
location.href = $("#part_page_table_value_2_" + item_id).attr('href'); // a nakoniec samotne "vykonanie kliku"
- celé mi to funguje, všetko fičí ako má, no nie som si úplne istý, či je tento spôsob bezpečný.
Takže ešte jedna otázka – odporúčate mi to teda nastrkať do veľa veľa formulárov a odosielať to pomocou postu alebo to je bezpečné aj takto a môžem to tak teda nechať ?
spôsob prepisu href-u anchoru som našiel na stackoverflow.