7
I’m having trouble validating a form with pure javascript, when it arrives in the field of the type "checkbox" always returns false, even with "checked = true".
Why is this happening? How can I resolve?
function val(){
    var inputs = document.form.getElementsByTagName('input');
    var label = document.form.getElementsByTagName('label');
    for(i=0;i<inputs.length;i++){
        var tipo = inputs[i].type;
        var nome = inputs[i].getAttribute('name');
        var elemento = inputs[i].getAttribute('id');
        if(tipo == 'text' && inputs[i].value.length < 5){
            label[i].childNodes.item(1).innerHTML = '*';
            document.getElementById(elemento).focus();
            return false;
        }else if(tipo == 'checkbox' && document.form.nome.checked !== true){
            label[i].childNodes.item(1).innerHTML = '*';
            document.getElementById(elemento).focus();
            return false;
        }else if(tipo == 'radio' &&  document.form.nome.checked !== true){
            label[i].childNodes.item(1).innerHTML = '*';
            document.getElementById(elemento).focus();
            return false;
        }else{
            label[i].childNodes.item(1).innerHTML = '';
            }
    }
    alert('enviado');
}
Exactly. It worked here.
– Tiago César Oliveira
@That’s what you lost, but I always have to select the two checkboxes, otherwise there will always be an error, only there will be a checkbox that the user will leave empty. That’s why I tried to verify the name... Is there any solution to this?
– Odair
Remove the
return falseand use a boolean variable to control whether the form was validated at the end before sending. To do sofalsein each failed validation. I included a reply my below with the full edited source of the function.– Tiago César Oliveira