JavaScript mega dúvida

12 respostas
S

Bom pessoal sou super novo no forúm, sou um MEGA NOOB em java. So que minha faculdade não lega isso em conta então…

Bom minha dúvida é o seguinte , eu preciso fazer a validação de um CAMPO EM HTML quando o usuario digitar o campo.

O que acontece abaixo.

<tr>
        <td height="24"></td>
            <td valign="top"><div align="left" class="style36" >CPF:</div></td>
            <td colspan="5" valign="top"><input name="txtCPF" type="text" class="style36" size=11 maxlength="11" /></td>
      </tr>

O campo CPF é uma chave primária no meu sisteminha , então toda vez eu preciso enviar esse formulário para outra JSP para assim eu acessar um METODO DA CLASSE JAVA para assim validar o CAMPO se existe ou não.

Bom o que eu estou querendo fazer, validar o campo antes de enviar para outra JSP. Eu já vi em alguns sites quando voce vai criar LOGIN ele verifica na hora se pode ou não ser criado esse login, o mesmo eu quero fazer com esse CPF !

Bom é um projeto para faculdade, tenho algumas semanas ainda ! Por favor alguem me ajuda, no caso de não entender eu tento explicar de outra forma ! Obrigado !

12 Respostas

S

Bom mais uma coisinha, a validação se o campo está vazio ou se contem ou não números eu ja esta feita !

Preciso fazer um tal de EVENTO em javaScript mais como nao sei mexer com isso eu não sei

Atenciosamente,

Newbie do java
robson.simonassi

Tenta esse codigo no CPF

function valida_login() {

	if ((document.loginForm.usuarioLogin.value == "")
		&&(document.loginForm.senhaLogin.value == "")){
		
		alert("O campo LOGIN e SENHA são Obrigatórios");
		document.loginForm.usuarioLogin.focus(); 
		return false;
		
	} else if(document.loginForm.usuarioLogin.value == ""){
		
		alert("O campo LOGIN é Obrigatório!");
		document.loginForm.usuarioLogin.focus(); 
		return false;
		
	} else if (document.loginForm.senhaLogin.value == "") {
    	
    	alert("O campo SENHA é obrigatório!");
    	document.loginForm.senhaLogin.focus();
		return false;
		
	} else{
	
		document.loginForm.submit();
	
    }
}

OU

//VALIDA CPF
function valida_CPF( nomecampo, cpf ) {


var erro = false;

if (cpf.length != 11 || cpf == "[telefone removido]" || cpf == "[telefone removido]" || cpf == "[telefone removido]" ||
cpf == "[telefone removido]" || cpf == "[telefone removido]" || cpf == "[telefone removido]" || cpf == "[telefone removido]" ||
cpf == "[telefone removido]" || cpf == "[telefone removido]" || cpf == "[telefone removido]")
erro = true;

var soma = 0;
for (i=0; i < 9; i ++)
soma += parseInt(cpf.charAt(i)) * (10 - i);

var resto = 11 - (soma % 11);
if (resto == 10 || resto == 11)
resto = 0;
if (resto != parseInt(cpf.charAt(9)))
erro = true;

soma = 0;
for (i = 0; i < 10; i ++)
soma += parseInt(cpf.charAt(i)) * (11 - i);

resto = 11 - (soma % 11);
if (resto == 10 || resto == 11)
resto = 0;
if (resto != parseInt(cpf.charAt(10)))
erro = true;

if ( erro == true ) {
alert (" [CPF] inválido ");
nomecampo.focus();
nomecampo.select();
return false;
}



}

Mas entenda o codigo é importante

robson.simonassi

DEsculpa esqueci de colocar no formato

//VALIDA CPF
function valida_CPF( nomecampo, cpf ) {
	
		
	var erro = false;

	if (cpf.length != 11 || cpf == "[telefone removido]" || cpf == "[telefone removido]" || cpf == "[telefone removido]" || 
		cpf == "[telefone removido]" || cpf == "[telefone removido]" || cpf == "[telefone removido]" || cpf == "[telefone removido]" || 
		cpf == "[telefone removido]" || cpf == "[telefone removido]" || cpf == "[telefone removido]")
		erro = true;
		
	var soma = 0;
	for (i=0; i < 9; i ++)
		soma += parseInt(cpf.charAt(i)) * (10 - i);
	
	var resto = 11 - (soma % 11);
	if (resto == 10 || resto == 11)
		resto = 0;
	if (resto != parseInt(cpf.charAt(9)))
		erro = true;
	
	soma = 0;
	for (i = 0; i < 10; i ++)
		soma += parseInt(cpf.charAt(i)) * (11 - i);
	
	resto = 11 - (soma % 11);
	if (resto == 10 || resto == 11)
		resto = 0;
	if (resto != parseInt(cpf.charAt(10)))
		erro = true;
	
	if ( erro == true ) {
		alert (" [CPF] inválido ");
		nomecampo.focus();
		nomecampo.select();
		return false;
	} 	
		
	
		
}
S

Não seria isso mestre ! Observe o código abaixo beleza ?

CPF:

Esse é o CLIENTE.JSP

agora observe no form ACTION =“CLIENTE1.JSP”

Abaixo a CLIENTE1.JSP

<%@ page import=AM.*%>

<%

cliente c= new cliente();

String nome= request.getParameter(txtNome);

String cpf= request.getParameter(txtCPF);

String rg= request.getParameter(txtRG);

String data= request.getParameter(txtData1);

String usuario=request.getParameter(txtUsuario);

String senha= request.getParameter(txtSenha);

String endereco = request.getParameter(txtEndereco);

String complemento= request.getParameter(txtComplemento);

String localizacao= request.getParameter(sexo[]);

String cep=request.getParameter(txtCep);

String cidade= São Paulo;

String telefone1= request.getParameter(txtTelefone1);

String celular=request.getParameter(txtCelular);

String cod=1;

if(nome != null && nome.length() > 0

&& cpf != null && cpf.length() > 0

&& rg != null && rg.length() > 0

&& data != null && data.length() > 0

&& usuario != null && usuario.length() >0

&& senha != null && senha.length() > 0

&& endereco != null && endereco.length() > 0

&& complemento != null && complemento.length() > 0

&& localizacao != null && localizacao.length() > 0

&& cep != null && cep.length() > 0

&& telefone1 != null && telefone1.length() > 0

&& celular != null && celular.length() > 0){

if(c.verificaCliente(cpf)){

out.println(“”);

repoonse.sendRedirection(home.jsp);
}
   else{
       c.cadastrarLoginF(usuario,senha,cod); 
       out.println(c.cadastrarClienteF(nome,cpf,rg,data,usuario,senha,endereco,complemento,localizacao,cep,cidade,telefone1,celular,cod));
   }        
}

%>

if(c.verificaCliente(cpf)){
       out.println("<script>alert('Esse CPF  foi cadastrado anteriormente, entre com outro CPF.')</script>");
       repoonse.sendRedirection(home.jsp);

o problema está aqui que ele não le a mensagem e ja muda para HOME.

O que eu estou querendo fazer é ! Antes de ir para CLIENTE1.JSP utilizar esse metodo da classe (CLIENTE verificaCliente(cpf))
no CLIENTE.JSP antes de ser enviado o formulario.

Como não manjo muito de javascript meu professor da faculdade falou que através de (EVENTOR javascript) da para fazer isso.
Espero que tenta entendido, se não tento outra forma, abracos !

robson.simonassi

Cara entendi eu particularmente uso a ACTION do framework STRUTS 1.0, vc pelo visto tá no SERVLET não é??

S

Não estou usando JSP puro ! Não servlets

Tipo eu queria assim
no momento em que ele terminar de digitar o cpf, ja fazer a verificação e avisar que ja existe um cpf cadastrado para ele digitar novamentee

S
if ((d.txtCPF.value <11)){
			alert("O campo ' CPF ' deve conter 11 caracteres !");
			d.txtCPF.focus();
			return false;
		}

isso tb não esta funcionando…gostaria que tivesse obrigatoriamente 11 caracteres.

S
if ((d.txtCPF.value.length != 11)){
			alert("O campo ' CPF ' deve conter 11 caracteres !");
			d.txtCPF.focus();
			return false;
		}

Consegui que fosse obrigatorio 11 caracteres !

robson.simonassi

Tenta pegar as manhas em STRUTS 1.0 temos monte de tecnologia nova que facilita a vida o struts é bacana pra aprender o espirito da coisa, tenta conhecer a estrutura MVC e tente usar esse FRAMEWORK (Struts) no seu projeto, começar aprender certo ACREDITO… que acha?

S

http://forum.wmonline.com.br/index.php?act=Reg&coppa_user=0&termsread=1&coppa_pass=1

Observe o cadastro desse forum, o que eu quero fazer é isso ! So que apenas no campo CPF !

S

Bom a dúvida continua alguem poderia me ajuda ?

Bom ja descrobri que preciso usar o evento OnBlur=

So que eu preciso como parametro utilizar um metodo da classe JAVA.

Como integra java com javascript ?

Abracos

S

eu preciso que o campo HTML que esta

<tr>
            <td height="24"></td>
                <td valign="top"><div align="left" class="style41">CPF:</div></td>
                <td colspan="5" valign="top"><input type="text" name="txtCPF" size=11 onfocus="mudacor(this,'Silver')" maxlength="11" onBlur="validaCPF()" />	</td>
          </tr>

onBlur=“validaCPF()” eu preciso que o validaCPF(),acesse um metodo na classe java, que acessa uma tabela em um bando de dados para verificar na hora se o CPF digitado já existe !

Abracos

Criado 18 de setembro de 2008
Ultima resposta 29 de set. de 2008
Respostas 12
Participantes 2