• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Funkcja do resetowania pola radio

0 głosów
304 wizyt
pytanie zadane 23 lutego 2018 w JavaScript przez komar54 Użytkownik (850 p.)

Witam

Mam problem z którym nie mogę sobie poradzić. Będę miał na stronie kilka/kilkanaście pól radio i potrzebuje przycisku, który zresetuje tylko jedno pole (odznaczy pole) w przypadku błędnego lub pomyłkowego zaznaczenia. Nie chcę resetować całego formularza.

Napisałem już funkcję, która realizuje to zadanie ale chciałbym ją zmodyfikować tak żeby w argumencie funkcji była przekazywana nazwa o które pole chodzi.

Jeżeli nie wszystko jest jasne to kod powinien rozjaśnić temat:

<html>
    <head>
	
	<script type="text/javascript" src="skrypt.js"></script>
          
    </head>
    <body>
                
        <form name="formularz1" action="index.php" method="get">
			<div>
				<input type="radio" name="radio1" value="x1" />
				<input type="radio" name="radio1" value="x2" />
				<input type="radio" name="radio1" value="x3" />
			</div>
			
			<button type="button" onclick="fn1('radio1')">reset radio 1</button> 

			<div>
				<input type="radio" name="radio2" value="x1" />
				<input type="radio" name="radio2" value="x2" />
				<input type="radio" name="radio2" value="x3" />
			</div>
			
			<button type="button" onclick="fn2('radio2')">reset radio 2</button>
        </form>
        
 
    </body>
</html>
function fn1(pom)
{             
	document.forms.formularz1.radio1[0].checked=false;
	document.forms.formularz1.radio1[1].checked=false;
	document.forms.formularz1.radio1[2].checked=false;
}

function fn2(pom)
{             
	document.forms.formularz1.radio2[0].checked=false;
	document.forms.formularz1.radio2[1].checked=false;
	document.forms.formularz1.radio2[2].checked=false;
}

Czy jest jakaś możliwość żeby "radio1" w linijkach nr 3, 4 i 5 oraz "radio2" w linijkach nr 10, 11 i 12 zamienić na argument funkcji "pom"?

komentarz 23 lutego 2018 przez tirith Mądrala (5,940 p.)
Dopiero się uczę JS ale może dało by radę zrobić to w ten sposób że wywołujesz funkcję jak do tej pory. Potem już w funkcji sprawdzasz  - querySelector() - który Radiobutton jest chcecked i go zmieniasz.

1 odpowiedź

0 głosów
odpowiedź 23 lutego 2018 przez ScriptyChris Mędrzec (190,170 p.)
wybrane 23 lutego 2018 przez komar54
 
Najlepsza

Czy jest jakaś możliwość żeby "radio1" w linijkach nr 3, 4 i 5 oraz "radio2" w linijkach nr 10, 11 i 12 zamienić na argument funkcji "pom"?

Tak. Po prostu zapisz argument pom w nawiasach kwadratowych (usuwając jednocześnie kropkę po lewej stronie) - tak samo, jak robisz to z indeksem.

Przykład:

document.forms.formularz1[ pom ][ 0 ].checked=false;

 

komentarz 23 lutego 2018 przez komar54 Użytkownik (850 p.)
Super, wielkie dzięki :). Próbowałem na wiele sposobów ale na to nie wpadłem.

Podobne pytania

0 głosów
0 odpowiedzi 477 wizyt
0 głosów
0 odpowiedzi 328 wizyt
pytanie zadane 11 grudnia 2017 w C i C++ przez kolijk Użytkownik (600 p.)
–2 głosów
1 odpowiedź 596 wizyt
pytanie zadane 29 sierpnia 2018 w JavaScript przez Ciacho132066 Nowicjusz (140 p.)

93,741 zapytań

142,677 odpowiedzi

323,294 komentarzy

63,324 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...