Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript]Problem z radio buttonami
-Marian1290-
post 29.05.2014, 13:38:36
Post #1





Goście







Witam,
Dopiero zaczynam swą przygodę z JavaScriptem, proszę o wyrozumiałość.
Na stronie mam wiele radio buttonów w formularzu. Chce uzyskać efekt, że jeśli żaden nie jest zaznaczony to wyświetla się alert a w przeciwnym wypadku wykonuje się jakis tam JavaScriptowy kod.
Bardzo prosze o pomoc, kombinuję już cały dzień i nie wychodzi.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
markuz
post 29.05.2014, 13:44:49
Post #2





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


http://stackoverflow.com/questions/1423777...ton-is-selected


--------------------
Go to the top of the page
+Quote Post
-Marian1290-
post 29.05.2014, 17:37:12
Post #3





Goście







Wykombinowałem coś takiego
[JAVASCRIPT] pobierz, plaintext
  1. function radio_v() {
  2. var radia = document.getElementsByName('radia');
  3.  
  4. for (var i = 0; i < radia.length; i++) {
  5. if (radia[i].checked) {
  6. //dalszy kod, wykonuje się jeśli zaznoczono któreś radio
  7. return true;
  8. }
  9. }
  10. alert("Nie wybrano radia.");
  11. return false;
  12. }
[JAVASCRIPT] pobierz, plaintext

Prawie działa, jeśli zaznaczę kod się wykonuje, gdy nie zaznaczę żadnego radia pokazuje się alert. Problem w tym, że jego zamknięcie przeładowuje stronę a tego nie chcę.

Mam jeszcze jedno pytanie:
[JAVASCRIPT] pobierz, plaintext
  1. function radio_v() {
  2. var radia = document.getElementsByName('radia');
  3.  
  4. for (var i = 0; i < radia.length; i++) {
  5. if (radia[i].checked) {
  6. //dalszy kod, wykonuje się jeśli zaznoczono któreś radio
  7. return true;
  8. } else {
  9. alert("Nie wybrano radia.");
  10. return false;
  11. }
  12. }
  13. }
[JAVASCRIPT] pobierz, plaintext

Ten kod wyświetla ten alert również przy zaznaczeniu radia, dlaczego?
Bardzo proszę o pomoc.
Go to the top of the page
+Quote Post
markuz
post 29.05.2014, 17:40:40
Post #4





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


Ten skrypt nie wyświetli alertu dopiero jak zaznaczysz wszystkie. Za każdym razem sprawdzasz czy checkbox jest zaznaczony czy nie. W pierwszym przypadku sprawdzałeś tylko czy był zaznaczony i zwracałeś true (czyli kończyłeś funkcję).

Ten post edytował markuz 29.05.2014, 17:40:57


--------------------
Go to the top of the page
+Quote Post
-Marian1290-
post 29.05.2014, 18:07:29
Post #5





Goście







Znów trochę przerobiłem i znów nie działa poprawnie.
[JAVASCRIPT] pobierz, plaintext
  1. function form_action() {
  2. var radia = document.getElementsByName('radia');
  3. var c = 0;
  4.  
  5. for (var i = 0; i < radia.length; i++) {
  6. if (radia[i].checked) {
  7. c = radia[i].value;
  8. } else {
  9. c = 0;
  10. }
  11.  
  12. }
  13. if(c < 0) {
  14. alert("Zaznaczono");
  15. } else {
  16. alert("Nie wybrano radia.");
  17. }
  18. }
[JAVASCRIPT] pobierz, plaintext

Jak powinien wyglądać ten kod? Są to radio buttony nie checkboxy. Po prostu nie ma potrzeby zaznaczania wielu.
Bardzo proszę o pomoc już całkiem się pogubiłem. Z góry dziękuję.
Go to the top of the page
+Quote Post
-Marian1290-
post 29.05.2014, 18:10:53
Post #6





Goście







Znów trochę przerobiłem i znów nie działa poprawnie.
[JAVASCRIPT] pobierz, plaintext
  1. function form_v() {
  2. var radia = document.getElementsByName('radia');
  3. var c = 0;
  4.  
  5. for (var i = 0; i < radia.length; i++) {
  6. if (radia[i].checked) {
  7. c = radia[i].value;
  8. } else {
  9. c = 0;
  10. }
  11.  
  12. }
  13. if(c < 0) {
  14. alert("Zaznaczono");
  15. } else {
  16. alert("Nie wybrano radia.");
  17. }
  18. }
[JAVASCRIPT] pobierz, plaintext

Jak powinien wyglądać ten kod? Są to radio buttony nie checkboxy. Po prostu nie ma potrzeby zaznaczania wielu.
Bardzo proszę o pomoc już całkiem się pogubiłem. Z góry dziękuję.
Go to the top of the page
+Quote Post
trueblue
post 29.05.2014, 18:17:46
Post #7





Grupa: Zarejestrowani
Postów: 6 799
Pomógł: 1827
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


  1. function form_v() {
  2. var radia = document.getElementsByName('radia');
  3. var c=false;
  4. for (var i = 0; i < radia.length; i++) {
  5. if(radia[i].checked){
  6. c=true;
  7. break;
  8. }
  9. }
  10. if(c)
  11. alert("Zaznaczono");
  12. else
  13. alert("Nie wybrano radia.");
  14. }

albo:
  1. function form_v() {
  2. var radia = document.getElementsByName('radia');
  3. var c;
  4. for (var i = 0; i < radia.length; i++)
  5. c=radia[i].checked;
  6. if(c)
  7. alert("Zaznaczono");
  8. else
  9. alert("Nie wybrano radia.");
  10. }


Ten post edytował trueblue 29.05.2014, 18:18:58


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 20:57