Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Frameworki _ [Symfony] Ustawienie stałej wartości dla ukrytego pola formularza wysyłanego metodą GET

Napisany przez: eerie 22.09.2020, 13:32:18

Wysyłam metodą GET formularz, który ma ukryte pole "level". W klasie "UserSearchType" ustawiłem coś takiego:

Kod
->add('level', HiddenType::class, ['data' => 1])


Wydaje mi się, iż pole "level" powinno mieć cały czas wartość 1, a nie ma. Jest tak tylko po pierwszym kliknięciu "submit". Potem zmieniam wartość "level" w url'u i klikam ponownie "submit", ale wartość nie jest równa 1. Jest równa tyle, ile wcześniej ustawiłem w url'u (w tym przypadku edytując go ręcznie). Jak zrobić, aby po każdorazowym zatwierdzeniu formularza wartość "level" wynosiła zawsze 1, a nie tyle, ile ma akurat w url'u?

Napisany przez: ohm 22.09.2020, 18:44:36

Nigdy nie probowalem, ale wydaje mi sie ze attr read_only badz disabled powinien rozwiazac problem. Dziala w POST, w GET nigdy nie sprawdzalem.

Napisany przez: eerie 23.09.2020, 12:42:08

Udało mi się rozwiązać problem dodając parametr "level" na końcu uri (poza formularzem). W kodzie wystarczyło użyć:

Kod
$level = (int) ($request->query->get('level') questionmark.gif 1);

Napisany przez: czachor 28.09.2020, 21:39:45

Trochę usprawniając:

  1. $level = $request->query->getInt('level', 1);

- drugi parametr to domyślna wartość, jeśli nie podano jest w requeście.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)