Odznaczenie radio button

0

Mam w react.js prosty formularz i w jednym miejscu używam radio button, z pobraniem zawartości nie mam problemu ale przycisk nie odznacza się po wysłaniu formularza albo zmianie na inny radio button, do każdego radio button jest atrybut name ale nie wiem w jaki sposób się do niego odwołać. Jakieś sugestie jak sobie z tym poradzić?

Dodam, że dopiero zaczynam z react

0

Jakbyś wrzucił jakiś kod to na pewno by było łatwiej coś napisać :P

0

Ok racja z tym checkboxem tylko teraz nie działa mi zapisywanie wybranej opcji. Poniżej kod :

<label>Male</label>
            <input type="checkbox" value="Male" name="gender" onChange={this.handleChangeGender}></input>
            <label>Female</label>
            <input type="checkbox" value="Female" name="gender" onChange={this.handleChangeGender}></input>
            <label>Other</label>
            <input type="checkbox" value="Other" name="gender" onChange={this.handleChangeGender}></input>
handleChangeGender(e) {
    this.setState({ geder: e.currentTarget.value });
  }
2

Nie wiem czy to może mieć jakies znaczenie, ale rzuciła mi się w oczy literówka.
W pierwszym kodzie masz name="gender", natomiast w drugim setState({ geder: e.currentTarget.
To jak powinno być - geder czy geNder?
Oczywiście, być może nie ma to związku ze sprawą, ale zacząłbym od wyjaśnienia tej kwestii.

0

Jednak literówka nie powodowała błędu

0

Wrzuciłem Twój kod na jsfiddle - https://jsfiddle.net/epgcwydL/ , a następnie spojrzałem na to i zastanawiam się, czy dobrze to robisz.

Nie wiem, co chcesz osiągnąć, ale raczej tutaj nie dawałbym checkbox tylko jakieś radio - coś na kształt https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_input_type_radio. No bo w tym, co Ty zrobiłeś można zaznaczyć jednocześnie płeć męską i damską/żeńską. O ile nie mówimy teraz o ślimakach, tylko ludziach - takie coś jest chyba błędne :D

0
<form>
            <label className="male">Male
            <input type="radio" value="Male" name="gender" onChange={this.handleChangeGender}></input></label>
            <label className="female">Female
            <input type="radio" value="Female" name="gender" onChange={this.handleChangeGender}></input></label>
            <label className="other">Other
            <input type="radio" value="Other" name="gender" onChange={this.handleChangeGender}></input></label>
         </form>

i jak dostać się do inputa, który go wywołał, żeby np zaznaczyć unchecked ?

3

Tak miałem na początku ale zaznaczenie zostaje nawet po wysłaniu formularza a chciałby, żeby każde ratio było unchecked

Ale kto powiedział, że nie da się usunąć zaznaczenia z elementów typu radio?
Zrobiłem tak na szybko - pobaw się i potestuj - https://jsfiddle.net/59v3haoL/.
Przy okazji pewnie rozwiązałem Twój problem podany wcześniej - czyli czyszczenie powysłaniu.

A tak w ogóle to mam prośbę - nie popadaj w paranoję poprawności politycznej i wywal OTHER. Mamy dwie płcie i nie kombinujmy w tym zakresie, OK? :P

0

Ale dzięki, bo własnie o to mi chodziło :)

0

A jeszcze szybkie pytanko: Czy, albo raczej jak w react otworzyć nową kartę? Powiedzmy, że mam w 1 klasie button i jak go wcisnę chcę, żeby wyświetliła się zawartość innej klasy (coś a href nie działa)

1

Albo tworzysz w komponencie instrukcje warunkową przy renderowaniu, której wynik przestawiasz tym przyciskiem (https://reactjs.org/docs/conditional-rendering.html) albo dodajesz sobie do projektu react-router i korzystając z niego przechodzisz po prostu na jakąś podstronę z drugą zawartością.

0

A czy jest jakaś funkcja, która wyczyści tablicę w react?

1 użytkowników online, w tym zalogowanych: 0, gości: 1