Nette toggle mi nefunguje
- ikoon
- Člen | 80
zdravim
skusam skryvanie poli formulara ale nefunguje mi to ako ma.
Mam vo forme:
$form->addRadioList("typ", "", ["s"=>"Súkromná osoba", "f"=>"Firemný zákazník"])
->addCondition(Form::EQUAL, "f")
->toggle("firma")
->endCondition()
->setRequired();
$form->addText("firma", "Firma");
Skusam to vo firefoxe. Ak kliknem na sukromnu osobu, tak elementu firma sa
v html prida atribut hidden="", ale nic sa nestane. Firefox to ignoruje,
inputbox neskryje. Ked znovu kliknem, hidden zmizne. Je to problem FF?
Vyriesil som si to zatial tymto:
<script>
Nette.toggle = (selector, visible, srcElement, event) => {
if (/^\w[\w.:-]*$/.test(selector)) { // id
selector = '#' + selector;
}
var elems = document.querySelectorAll(selector);
for (var i = 0; i < elems.length; i++) {
if (elems[i].style.display === "none") {
elems[i].style.display = "block";
} else {
elems[i].style.display = "none";
}
}
};
</script>
Dalsi problem mam, ze ked v FF kliknem na sukromna, zmizne firma (s tym mojim patchom), to je ok. Ale ked refresnem stranku s CTRL+R, tak pole sukromna osoba je uz zakliknuta, ale firma sa neskryje. Musim preklinut na firemny zakaznik a potom sukromna osoba. Musim tam nejak rucne vynutit to skrytie? Alebo robim niekde chybu?
Dakujem…
Editoval ikoon (25. 4. 2022 11:32)