Javascript Problema jquery radio button

Fastidio

Utente Gold
1 Gennaio 2014
594
55
104
287
Ultima modifica:
Salve!
Come da titolo ho un problema con jquery/js con i radio button, non riesco a "selezionarli". Si tratta di salvare i dati di un form nella sessionStorage per poi poterli riutilizzare se l'utente sbaglia i campi.
Quello che vorrei fare è di includere dentro all' each (di jquery) un get e dopo un set sui radio button.
Qui sotto allego la prima versione del codice in cui mi funzionano i text field ma non i radio button :p .
Nella seconda versione ho provato ad aggiungere la possibilità di salvare anche i radio button. Purtroppo nella sessionStorage mi ritrovo solo i name e i value dei text field, nel campo del radio button c'è il name ma il value rimane sempre su 0.
Ringrazio in anticipo :D
JavaScript:
function save(){
  $('input').each(function(){ 
        var name = $(this).attr('name');
        var value = $(this).val();
       sessionStorage.setItem(name, value);
      
    });
}
JavaScript:
function save(){
  $('input').each(function(){
if ($("input[type='radio']:checked").val() == 'M'){

    var name = $(this).attr('name');
    var value = $(this).val();

}if($("input[type='radio']:checked").val() == 'F'){

    var name = $(this).attr('name');
    var value = $(this).val();

}if($("input[type='radio']").val() == null){

    var name = $(this).attr('name');
    var value = $(this).val("2");

}else{

    var name = $(this).attr('name');
    var value = $(this).val();

  }   
       sessionStorage.setItem(name, value);
      
    });
}
 
Ho modificato un po' il tuo codice, ora inserisce nel sessionStorage name e value di tutti gli input mentre per -->

RADIO: Salva il name che identifica le radio con il value di quella checkata, se non vi è nessuna checkata mette undefined.
CHECKBOX: Salva name e true o false se checkata oppure no



function save(){
$("input").each(function(){
if($(this).attr("type")=="checkbox" ){
var name = $(this).attr('name');
var value = $(this).is(":checked");
}else if($(this).attr("type")=="radio"){
var name = $(this).attr('name');
var value = $("[type='radio'][name='"+name+"']:checked").attr("value");
}else{
var name = $(this).attr('name');
var value = $(this).val();
}
sessionStorage.setItem(name, value);
});
}
 
  • Mi piace
Reazioni: Fastidio