signály a persistentí parametry

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
svobodai
Člen | 136
+
0
-

Mám formulář pro Editaci, kam si jako persistenntí parametr předávám ID

Na formuláři mám definován link na handler, protže potřebuji dohledat hodnoty, které potřebuji do dalších polí formuláře.
Bohužel mi to do ajaxu vytvoří takovýto url odkaz

http://server.l/admin/webuseruser/?idWebUser=2&amp%3Bdo=searchUser&IgId=CVKG&isDedic=on

v tomto js kódu

$('#{$control["webuseruserForm"]["search"]->htmlId}').click(function () {
$.nette.ajax({
type: 'GET',
url: '{link {$link}!}',
data: {
'IgId': $('#{$control["webuseruserForm"]["IgId"]->htmlId}').val(),
'isDedic': $('#{$control["webuseruserForm"]["isDedic"]->htmlId}').val(),
},
}).done(function (data) {
$(this).addClass("done");
});
});

problém je v tom, že se tam objeví html znaky pro & a ? a potom se neyavolá ten handle v presenteru.

Zřejmě tedy dojde k chybnému poskládání parametrů pro link.

Michal Vyšinský
Člen | 608
+
0
-

Latte escapuje obsah proměnné $link

{$link|noescape}

by mělo pomoci.

svobodai
Člen | 136
+
0
-

To bohužel nepomůže. V tom $link je to jen text akce, ten script používám pro více tlačítek a akcí
Kdzž to neudělám přes ten parametr tak to vypadá takhle

url: '{link search!}',

Tu adresu generuje nette na základě toho link a jména signálu.

Michal Vyšinský
Člen | 608
+
0
-

Proč si ten odkaz nepředáš už z presenteru?

Jinak by možná mohlo fungovat toto:

{capture $jsLink}{link {$link}!}{/capture}

v js pak použít:

url: '{$jsLink|noescape}'

Editoval Michal Vyšinský (13. 10. 2014 14:43)

Oli
Člen | 1215
+
0
-

Zkoušel jsi to url: ‚{link {$link}!}‘, bez uvozovek? To by mělo fungovat…

svobodai
Člen | 136
+
0
-

Michal Vyšinský napsal(a):

Proč si ten odkaz nepředáš už z presenteru?

Jinak by možná mohlo fungovat toto:

{capture $jsLink}{link {$link}!}{/capture}

v js pak použít:

url: '{$jsLink|noescape}'

Ano to je dobrá rada, takhle to funguje.