Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Wellington09

[Resolvido] O Mesmo Verifica Em Duas Funções, existe isso ?

Recommended Posts

Deixa eu me explicar pra ver se vcs me entendem.

Eu tenho um formulario certo... neste formulario eu tenho um botão de CADASTRAR e outro de ALTERAR, cada botão chama uma função que em javascript ira redirecionar para paagina PHP.

 

Botão CADASTRAR vai chamar a página de cadastro PHP.

<button type="button" onClick="cadastra();">Cadastrar</button>

 

Botão ALTERAR vai chamar a página de alteração PHP.

<button type="button" onClick="altera();">Alterar</button>

 

Então dentro da função cadastra(); eu tenho os comandos de validações do formulário, que se não preenchido corretamente ele não fara o cadastro.

 

Na função ALTERA(); eu tenho que jogar todas as validações que estão no CADASTRA(); certo ? se não a pessoa vai preencher o formulario e na hora de enviar os dados para atualização não vai ter validação alguma certo ? pois as validações não se encontram dentro da função ALTERA();

 

A pergunta é a seguinte !

Sei que é só dar um CTRL + C no CADASTRA(); e depois um CTRL + V no ALTERA(); só que ai ficaria 2 comandos q fazem a mesma coisa , entende não teria como pegar toda minhas validações e jogar dentro d uma variavel e essa mesma variavel ser colocada nas funções de CADASTRA(); e ALTERA();

 

Tipo assim :

 

VAR validar =

 

if{

faça isso

}else {

faça aquilo

}

if{

faça isso

}else {

faça aquilo

}if{

faça isso

}else {

faça aquilo

}if{

faça isso

}else {

faça aquilo

}

 

;

 

Ai eu pegaria a variavel (validar) e jogaria dentro da função desejada.

EX:

function cadadastra(){

validar; <------- Aqui eu colocaria a variavel com todas minhas validações

 

document.form.action ='php/cadastra.php';

document.form.submit();

}

 

function altera(){

validar; <------- Aqui eu colocaria a variavel com todas minhas validações

 

document.form.action ='php/altera.php';

document.form.submit();

}

 

 

TENDEU ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em vez de validar ser uma variável, faz ser uma função.

ai você reutiliza essa função nos 2 casos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode fazer algo assim:

cria um campo do tipo hidden no seu form

 

<input type="hidden" name="tipo" value="" />

sua funnção ficaria assim

 

function save()
{
aux = document.nome_do_form.tipo;

/*
validação viria aqui
*/


if(aux.value == 1)//salva
{
/*codigo para pagina de salvar*/
}
else if(aux.value == 2)//update
{
/*codigo para pagina de alterar*/
 }
}

e nos botões ficaria assim

 

<button type="button" onClick="document.nome_do_form.tipo.value=1; save()">Alterar</button>

<button type="button" onClick="document.nome_do_form.tipo.value=2; save()">Cadastrar</button>

 

entendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

colocar função dentro de função é isso ?

 

function cadastra(){

function verifica(){}

document.form.action ='php/cadastra.php';

document.form.submit()

}

 

function altera(){

function verifica(){}

document.form.action ='php/altera.php';

document.form.submit()

}

 

e no onClick eu chamaria só a função CADASTRA(); ou ALETRA();

Compartilhar este post


Link para o post
Compartilhar em outros sites

var function cadastrar() {
  var elemForm = document.getElementById('meuform');
  if (validar(elemForm)) {
	// manda pra onde tem q mandar
  } 
}

var function alterar() {
  var elemForm = document.getElementById('meuform');
  if (validar(elemForm)) {
	// manda pra onde tem q mandar
  } 
}

var function validar(f) {
  return true ou false
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais ou menos..

 

function verifica() {

}
function cadastra(){
verifica();
document.form.action ='php/cadastra.php';
document.form.submit()
}

function altera(){
verifica();
document.form.action ='php/altera.php';
document.form.submit()
}
Entendeu? você só está chamando uma função que já está criada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa ! pessoal brigado ae pela ajuda eu vou tentar aqui e ver oq eu consigo e William Bruno

eu fiz o seu exemplo, mas ele da a primeira mensagem de erro e depois já cadastra , cheguei acolocar assim:

verifica();

return false;

só q ai ele não faz o envio do form , só faz as validações

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai você tem que fazer uma verificação...

if(valida()){

// aqui dentro vai o submit..

}

 

coloquei o código só pra te mostrar a estrutura, mas a idéia era sim, você verificar se a função retornou TRUE ou não, e dai fazer o cadastro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei todos os exemplos a cima mas todos derão o mesmo resultado ... aparece a primeira mensagem de erro e depois ja cadastra sem validar os outros campos ou valida todos os campos poderem não cadastra .

O exemplo do Willian é bem oq eu precisava + tb não deu certo achei melhor separar cada função e depois usar um if (verifica) como ele disse, mas tb não deu resultado.

Todos os comandos acima são 'diferentes' porem todos tem o mesmo resultado final.

Muito obrigado pessoal e eu vou continuar tentando aqui com o exemplo d vcs

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta algo assim:

function save(tipo)
 {
 
 /*
 validação viria aqui
 */
 
 validado = (true ou false) //dependendo do resultado da validação
 
 
 if(validado == true)
 {
 
 if(tipo == "salvar")
 {
 /*codigo para pagina de salvar*/
 }
 else if(tipo == "alterar")
 {
 /*codigo para pagina de alterar*/
  }
 }
 
 }

depois no botão é so colocar save("salvar") ou save("alterar")

 

um função para tudo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quebrei a cabeça aqui um pouco desde o dia do primeiro post e finalmente consegui, voltei pra agradecer ae o pessoal pela ajuda no final ficou assim

 

Funtion valida(){

todas validações

RETURN TRUE < ------ Era isso q faltava pra fazer funcionar, pois eu não tinha colocado nada, ai aparecia todas as mensagem de validação e no final de tudo preenchido corretamente ele não enviava e eu achei q tava fazendo um if errado no function cadastra, tinha dado um RETURN FALSE , RETURN TRUE e ELSE e um monte de coisa e não ia só faltava mesmo um bendito RETURN TRUE na função valida

}

 

function cadastra(){

if(valida){

envia os dados cadastrados

}

}

 

 

function altera(){

if(valida){

envia os dados alterados

}

}

 

Muito obrigado pela ajuda ae pessoal e só voltei mesmo pra agradecer a ajuda de vcs falow abraço pra todo mundo ae fui

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bacana cara... que bom que conseguiu ^^

No fim foi com a estrutura que eu disse... :lol:

Deixei escondida a dica ali no meu post:

você verificar se a função retornou TRUE ou não, e dai fazer o cadastro.

Bacana ter voltado para deixar pros próximos.

Parabéns.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.