Kdyby\Replicator setDefaultValue

Phalanx
Člen | 310
+
0
-

Ahoj,

chci se zeptat jak řešíte v Kdyby/Replicator nastavení setDefaultValue pro checkbox.
https://github.com/…or/issues/29

Řešení od F. Procházky:
The setDefaultValue is a really complicated problem and as a workaround, you should for now do ->setValues() when you're creating new container.

Pokud zadám při vytváření checkboxu setValue(1), tak se mi pak odesílá vždy 1 i když uživatel odklikne na 0.

Už to zkouším ladit asi hodinu a dopátral jsem se k tomu, že pokud získávám data z metody $form->getValues() – dostávám vždy defaultní hodnoty. Přes $_POST ty hodnoty checkboxů nejsou vůbec nastavené…

Což mě vedlo ke StackOverflow:
https://stackoverflow.com/…re-unchecked?…

kde pro odesílání nevyplněných checkboxů používají buď javascript nebo metodu vyplnění políčka se stejným jménem do hidden

<?php
<form>
  <input type='hidden' value='0' name='selfdestruct'>
  <input type='checkbox' value='1' name='selfdestruct'>
</form>
?>

Jako nejrozumnější se mi zatím jeví kontrolovat navíc $_POST hodnoty, kde nevyplněné checkboxy prostě neexistují.

Editoval Phalanx (7. 6. 2017 14:06)