Verificare bifare buton input radio

Discutii si intrebari legate de scripturi si functii JavaScript, jQuery si Ajax, cod JavaScript in general.
cadou
Mesaje:328

Verificare bifare buton input radio

Am incercat cateva variante dar nu am reusit. Doresc sa afiseze o eroare daca nu e selectat vreun buton radio input.

Cod: Selectaţi tot

<input name="alegeraport" id="alegeraport" value="comportament necivilizat / injuri / cuvinte obscene" type="radio"> Comportament necivilizat / Injuri / Cuvinte obscene<br>
	<input name="alegeraport" id="alegeraport" value="spam / reclama" type="radio"> Spam / Reclama<br>
	<input name="alegeraport" id="alegeraport" value="profil fals / abuz de date persoanale / id fals" type="radio"> Profil fals / Abuz de date persoanale / Id fals
iar in javascript am

Cod: Selectaţi tot

var alegeraport = $('#alegeraport').val();
si conditia

Cod: Selectaţi tot

if(alegeraport.checked == false) {  eroarea ....}
am mai incercat si asa

Cod: Selectaţi tot

if(alegeraport < 1)  si if(alegeraport == '')
nici una din variante nu a mers !

MarPlo Mesaje:4343
Salut
Vezi daca te ajuta acest tutorial: Verificare, Validare butoane radio si checkbox cu JavaScript.

smcstylus Mesaje:1
in primul rand daca codul html e ecelasi ca si in realitate nu e bun deoarece ai mai multe obiecte cu acelasi id
cod bun html:

Cod: Selectaţi tot

<input name="alegeraport" id="alegeraport1" value="comportament necivilizat / injuri / cuvinte obscene" type="radio"> Comportament necivilizat / Injuri / Cuvinte obscene<br>
<input name="alegeraport" id="alegeraport2" value="spam / reclama" type="radio"> Spam / Reclama<br>
<input name="alegeraport" id="alegeraport3" value="profil fals / abuz de date persoanale / id fals" type="radio"> Profil fals / Abuz de date persoanale / Id fals

<br><a href="javascript:void(0);" id="run">run</a>
unde obiectul "run" e folosit pt test.

pt js. poti crea o functie ce sa o folosesti pt mai multe grupuri de butoane radio (sau unul).
Atentie! am folosit jQuery.
js:

Cod: Selectaţi tot

function ch_radio(obiect, alerta){
    if( !jQuery(obiect)[0]) { // verifici daca obj exista
       alert('obiectul '+ obiect+" nu exista"); //alerta pentru programator
       return false;
    }
    if(typeof alerta == "undefined") alerta =''; //atribui o val implicita alertei
    if(!jQuery(obiect).is(":checked")) {//verifici daca s-a bifat sau nu un radio button si returnezi alerta
        if (alerta !='' ) alert(alerta);
        return false;
    } 
    else return jQuery('input[name="alegeraport"]:checked').val(); //returnezi valoarea butonului radio
}

Cod: Selectaţi tot

jQuery(document).ready(function($) {
 var alegeraport_val = ""; //valoare initiala - o declari doar daca ai nevoie sa o pastrezi in buffer
 $("#run").click(function(){
   alegeraport_val = ch_radio('input[name="alegeraport"]', 'alege o optiune'); 
   if(alegeraport_val!=false)  alert(alegeraport_val); //aceasta linie e doar pt test
 });
});
exemplu (tot la un loc):

Cod: Selectaţi tot

<html>
<head>
<title>test</test>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
</head>
<body>
<input name="alegeraport" id="alegeraport1" value="comportament necivilizat / injuri / cuvinte obscene" type="radio"> Comportament necivilizat / Injuri / Cuvinte obscene<br>
<input name="alegeraport" id="alegeraport2" value="spam / reclama" type="radio"> Spam / Reclama<br>
<input name="alegeraport" id="alegeraport3" value="profil fals / abuz de date persoanale / id fals" type="radio"> Profil fals / Abuz de date persoanale / Id fals

<br><a href="javascript:void(0);" id="run">run</a>
</body>
<script language="JavaScript" type="text/javascript">
function ch_radio(obiect, alerta){
    if( !jQuery(obiect)[0]) { // verifici daca obj exista
       alert('obiectul '+ obiect+" nu exista"); //alerta pentru programator
       return false;
    }
    if(typeof alerta == "undefined") alerta =''; //atribui o val implicita alertei
    if(!jQuery(obiect).is(":checked")) {//verifici daca s-a bifat sau nu un radio button si returnezi alerta
        if (alerta !='' ) alert(alerta);
        return false;
    } 
    else return jQuery('input[name="alegeraport"]:checked').val(); //returnezi valoarea butonului radio
}

jQuery(document).ready(function($) {
 var alegeraport_val = ""; //valoare initiala - o declari doar daca ai nevoie sa o pastrezi in buffer
 $("#run").click(function(){
   alegeraport_val = ch_radio('input[name="alegeraport"]', 'alege o optiune'); 
   if(alegeraport_val!=false)  alert(alegeraport_val); //aceasta linie e doar pt test
 });
});
</script>
</html>

spor