Dynamický formulář – výpočet hodnoty do inputu ze dvou jiných – ajax?

Newer
Člen | 47
+
0
-

Ahoj,

mám dynamicky generovaný formulář z RadioList, kdy se zobrazují různé kombinace inputů v závislosti na zvolené hodnotě RadioList… Ale to asi není důležité (teda je kvůli chybám co mi bude vyhazovat konzole v případě použití JS).

představoval bych si aby input vysledek měnil hodnotu podle změny v input vstup_dva … ideálně bez refreshe a kliknutí na jakékoli tlačítko..

<?php
	$valueZdb = '30';

    $form->addText('rate', 'konstanta')->setDefaultValue($valueZdb)->setRequired()->setHtmlAttribute('readonly');
	$form->addInteger('vstup_dva','vstup_dva')->setDefaultValue('100')->setRequired();
	$form->addInteger('vysledek','vyledek')->setDefaultValue($valueZdb * $form['vstup_dva'])->setRequired();

?>

(ideálně bych to chtěl i ošetřit a zaokrouhlit na celé tisíce… ale s tím si asi poradím sám :-)))

napadlo mne, udělat formulář Ajaxově

<?php
$form->getElementPrototype()->class('ajax');
?>

v šabloně udělat kolem formuláře snippet, označit input vstup_dva ->setAttribute(‚class‘, ‚ajax‘), ale nevím kde ve formuláři bez kliknutí říkat ať překreslí snippet… Zkoušel jsem to tak nějak metoda pokus omyl ale už jsem v tom zas šíleně zahučel časově, tak se obracím na moudřejší…

Díky moc.

Newer
Člen | 47
+
+1
-

hotovo, stačila krátká procházka na refresh mozku…

I tak děkuji :-)

Editoval Newer (30. 5. 2020 14:53)

lightteka
Backer | 17
+
0
-

Mohl bys nastinit, jak jsi toho docilil? Treba to nekdy nekomu pomuze. Dik.

Newer
Člen | 47
+
0
-

$(‚#vstup_dva‘).on(‚change keyup keypress‘, function () {
var a = parseFloat($(‚#rate‘).val());
var b = parseFloat($(‚#vstup_dva‘).val());
var total = Math.round(a * b);
$(‚#vysledek‘).val(total);
});

takhle jednoduche to bylo.

Editoval Newer (3. 6. 2020 19:28)