Pegar dados de um listbox com javascript

1 resposta
L

Boa tarde pessoal,

Eu vou explicar qual é o meu problema e jogar o código abaixo, só pra vcs verem, as vezes estou fazendo algo errado…

Esse é o campo que eu quero pegar em um determinado jsp:

<select size="1" name="formacaoNova">
                                <option value="" ></option>
                                <%for (String formacao : formationList) {
                                %>
                                <option ><%=formacao%></option>
                                <%}
                                %>
                            &lt;/select&gt;<br>

Meu problema é o seguinte:
Quando eu vou adicionar uma pessoa nova no bd, eu queria que se o usuário na hora que fosse clicar no botão incluir, se não tivesse nada marcado nos campos ou selecionado no listbox, apareceria um alert avisando para selecionar os campos. Eu fiz um teste antes só selecionando campos normais (como nome,telefone,etc) e clicando no botão incluir, deu erro, pois eu não selecionei nenhum campo contendo listbox. Mas se eu fizer ao contrario, só selecionando os listbox, ele joga no banco o valor correspondente do listbox e os outros campos ficam em branco.

Eu fiz o javascript assim:

function validaList(){
    lista1 = document.getElementById('formacaoNova');
    lista2 = document.getElementsById('cargoNovo');    

    var result = false;
    var result2 = false;

    for(var x=0; x &lt; lista1.length ; x++)
    {
        alert(lista1[x]);
        if (lista1[x].selected != "")
        {
            result = true;
        }
    }
    
    for(var x=0; x &lt; lista2.length ; x++)
    {
        if (lista2[x].selected != "")
        {
            result = true;
        }
    }
    
    if(result && result2){
        return true;
    }
      
    alert("Por Favor, selecione os campos requeridos!");
    return false;
}

Espero ter esclarecido minha duvida…

Obrigado

1 Resposta

L

Eu troquei o getElementById por getElementByName e msm assim continua dando erro…

Criado 2 de junho de 2009
Ultima resposta 3 de jun. de 2009
Respostas 1
Participantes 1