Převzetí hodnoty z gridu do políčka formuláře

Dobrý den,

prosil bych o nasměrování, zda-li je možné v Drupalu ve formuláři převzít do pole nějakou hodnotu z jiného formuláře nebo gridu.

Co hledám, je funkcionalita z této stánky:

http://www.scriptcase.net/scriptcase-samples/php-form/capture-informatio...

kde je možné kliknutím na obrázek lupy u pole Category převzít hodnotu, která se ukáže v gridu.

Věřím, že Drupal určitě bude také umět, ale nemohu (neumím) se na to správně zeptat, abych našel postup, jak vyřešit.

Děkuji za jakoukoliv odpověď

M.Klinger

Fórum: 

slevové kupony

Reklama

Zdravím, to je asi otázka JavaScriptu, ne? Mělo by na to stačit trošku jQuery.

Majitel Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal. Jsem i na Twitteru.

Děkuji za nasměrování.

Mám nyní vytvořený formulář A, který u jednoho z políček má odkaz:
$link = Link::fromTextAndUrl(t('Link title'), $url )->toString();

- ten otevře jiný modální formulář B. Nyní řeším, jak "převzít" hodnotu z modálního formuláře B a umístit ji do formuláře A.

1) u metody formuláře B submitForm, nastavit hodnotu argumentu. Tu si pak přes $_GET načíst u formuláře A, do kterého si chci údaj načíst.

$url = Url::fromRoute('mydata.mydata_form', [
'arg1' => "value1",
'arg2' => "value2",
]);
$form_state->setRedirectUrl($url);

2) submitForm - uložit do $_SESSION[]

3) nebo byste věděl něco vhodnějšího?

U obou variant 1) a 2) je ten problém, že pokud formulář A již obsahoval nějaká vyplněná pole, tak při zavolání formuláře B o ně přijdu. Je možné nějak uložit data formuláře A před zavoláním linku a formuláře B? A po převzetí dat zase obnovit hodnoty do formuláře A?

Snad bude stačit zase naťuknout, jako se Vám to povedlo v minulé odpovědi:)

Děkuji za Váš čas.

M.Klinger

Postoupil jsem zase dál, resp. jiným směrem. Přes AJAX a "tlačítko" formuláře A, otevřu modální formulář B:

$form['open_modal'] = [
'#type' => 'link',
'#title' => $this->t('Open Modal'),
'#url' => Url::fromRoute('modal_form_example.open_modal_form'),
'#attributes' => [
'class' => [
'use-ajax',
'button',
],
],
];

Co ale zůstává nevyřešeno, neumím, je jak při (před) zavolání modální formuláře B, uložit již některá pořízená data formuláře A.

Přidat komentář