[Resolvido]Ajuda validando página JSP com JavaScript

Boa Noite,

Pessoal, estou tentando a seguinte validação.


 <!-- JavaScript -->

<script language="javascript" type="text/javascript">
	function validar() {
		
		var nome_pais = formPais.nome_pais.value;
	
		if (nome_pais == "") {
			alert('Preencha o campo nome do País');
			formPais.nome_pais.focus();
			return false;
	}
</script>

Meu formlario na página JSP:

<form name="formPais" action="adicionaPais">
        <label>Nome do País</label>
            <br />
		<input type="text" name="nome_pais" id="nome_pais"/><br /> 
		<label>Código da Moeda</label>
            <br />
		<input type="text" name="cod_moeda" /><br /> 
		 <label>Nome Moeda</label>
            <br />
		<input type="text" name="nome_moeda" /><br /> 
		<label>DDD</label>
            <br />
		<input type="text" name="cod_ddd" /><br />
		<label>Código BACEN</label>
            <br />
		<input type="text" name="cod_bacen" /><br />
		
		<input type="submit" value="Gravar" onclick="validar()"/>
		<a href="index.html">Voltar</a>
	</form>

No Submit eu chamo a função Js:

<input type="submit" value="Gravar" onclick="validar()"/>

Só que não está validando, o sistema salva, mesmo com o nome não preenchido.

Alguém pode me ajudar?

Grato.

retorna um boolean na sua função, e chama a funcao no onSubmit

vc nao esta acessando o valor direitinho com o codigo no javascript? achei
q tinha que usar getElementById ou JQuery e afim… masss…

abraços

Cara da uma olhada em jquery e no plugin validate na net. Tem muito conteudo e vai resolver seus problemas.

robson deu uma ótima sugestão, mas se for reter ao que você quer fazer, altere sua função do javascript:

** detalhe, está faltando fechar a { da tua função com }

function validar() {  
      
    var nome_pais = formPais.nome_pais.value;  
  
    if (nome_pais == "") {  
        alert('Preencha o campo nome do País');  
        formPais.nome_pais.focus();  
        return false;
    } else {
        document.forms[0].submit();
    }  
}  

forms[0] pode substituir o 0 pelo nome do form forms[“formPais”]

no teu form, altere o botão também:

<input type="button" value="Gravar" onclick="validar()"/>

Pessoal estou no serviço, mas anoite estarei modificando…

Sobre o jQuery, qual é vantagem?

Grato.

robson deu uma ótima sugestão, mas se for reter ao que você quer fazer, altere sua função do javascript:

** detalhe, está faltando fechar a { da tua função com }

function validar() {  
      
    var nome_pais = formPais.nome_pais.value;  
  
    if (nome_pais == "") {  
        alert('Preencha o campo nome do País');  
        formPais.nome_pais.focus();  
        return false;
    } else {
        document.forms[0].submit();
    }  
}  

forms[0] pode substituir o 0 pelo nome do form forms[“formPais”]

no teu form, altere o botão também:

<input type="button" value="Gravar" onclick="validar()"/> [/quote]

Deu certo, mas queria saber qual a diferença do Submit para o Button ?

Cara, ao utilizar o tipo submit, ao final de uma operação, se não me engano, ele sempre realiza o submit, que é justamente para isso que ele serve, e o tipo button você renderizará um botão apenas, a ação a ser realizada é tomada por um elemento aliado a ele, como foi o exemplo do javascript, que no término da validação, se estiver tudo ok, ele envia o formulário.

Obrigado pela ajuda.