Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216
Nome: Luan
Sexo: Masculino
Localização: De traz do PC
Contato:

Formulario de Validação em tempo real

30-04-2011 15:39

Eu tenho um formulário de validação aqui, mas está em php, e pra exibir as mensagens de erro a pessoa tem que enviar, pois são feitas as consultas no bd e retorna se tem algo errado, queria saber se tem como fazer isso mas em tempo real, tipo;

Campo login:
[ usuario-tal ] Este login já está sendo usado por outro usuário.
(mas esta mensagem de erro é pra ser exibida logo quando a pessoa vá para o próximo campo, e não só depois de preencher tudo e enviar)
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216
Nome: Luan
Sexo: Masculino
Localização: De traz do PC
Contato:

Formulario de Validação em tempo real

30-04-2011 15:54

Desculpe, tinha procurado por outro nome mas não tinha achado!
Encontrei desta forma agora: http://www.codigosnaweb.com/Resposta-au ... 1-PHP.html
mesmo assim vlw! ^^
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17641
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Formulario de Validação em tempo real

30-04-2011 15:57

Eu ia te indicar uma versão em jQuery, bem mais melhor.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216
Nome: Luan
Sexo: Masculino
Localização: De traz do PC
Contato:

Formulario de Validação em tempo real

30-04-2011 17:40

Sim por isso eu tinha postado aqui, pois pensei em jquery mesmo, mas não conheço mto java e talz, mas de qualquer forma, to quebrando a cabeça aqui e não terminei ainda, se quiser indicar, go go go, será mto bem vindo.. :rofl:
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17641
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Formulario de Validação em tempo real

30-04-2011 17:45

Você encontra o script em jQuery que verifica se o usuário colocado no input já está cadastrado no MySQL no link abaixo

http://www.9lessons.info/2008/12/twitte ... ug-in.html

Tá em inglês, mas, tem o link desse script completo para download.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216
Nome: Luan
Sexo: Masculino
Localização: De traz do PC
Contato:

Formulario de Validação em tempo real

30-04-2011 17:55

Boa boa, vou usar tbm... vlw!
Naquele primeiro exemplo ali, do php, ele retornar o resultado num iFrame...
Gostaria de deixar o botão Submit 'não clicavel' enquanto todos os resultados não sejam "OK!"...
tipo;
[1] OK!
[2] ERRADO!
[3] OK!
[Submit] (não clicavel)
---------------------------
[1] OK!
[2] OK!
[3] OK!
[Submit] (clicavel)
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17641
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Formulario de Validação em tempo real

30-04-2011 18:02

O que pode ser feito é você deixar o submit disabled=disabled, ai, cria uma função que é buscada no onkeyup. Nessa função, você libera o botão submit quando os campos estiverem preenchidos, tipo:

if(document.form.campo.value!="") { document.getElementById("submit").disabled=false; }

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216
Nome: Luan
Sexo: Masculino
Localização: De traz do PC
Contato:

Formulario de Validação em tempo real

30-04-2011 18:53

como eu disse, java não é mto minha área... então fiz assim;

<script type="text/javascript"> function liberaCampo(){ <? $verifica = mysql_query("SELECT * FROM lista"); while($extrai=mysql_fetch_array($verifica)) { extract($extrai); $custo = explode("-", $php); ?> if(document.formCot.<? echo "$custo[1]"; ?>.value!="OK!") { document.getElementById("Submit2").disabled=false; } <? } ?> } </script>


<iframe name="<? echo "$custo[1]"; ?>" src="" width="340" height="20" MARGINWIDTH="0" MARGINHEIGHT="0" HSPACE="0" VSPACE="0" FRAMEBORDER="0" SCROLLING="NO" WIDTH="0" HEIGHT="0" onkeyup="liberaCampo()">

Mas não funfo.. o que ta errado?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17641
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Formulario de Validação em tempo real

30-04-2011 18:57

Não pode usar MySQL dessa forma no JavaScript. Você testou o script do site gerado, funcionou ai?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216
Nome: Luan
Sexo: Masculino
Localização: De traz do PC
Contato:

Formulario de Validação em tempo real

30-04-2011 19:08

tipo sei que não é correto usar MySQL dessa forma... mas na página aparece os nomes certinho e talz.. mas o form tbm tem akele nome, então acho que entra em conflito... já abusando um poquinho, mas será que poderia me dar um exemplo completo pra ver se eu entendo?
Respondendo sua pergunta, funcionou sim, perfeito! :wasntme:
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17641
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Formulario de Validação em tempo real

30-04-2011 19:12

Eu não entendi sua estrutura de formulário, é input text, checkbox,... Explica melhor.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216
Nome: Luan
Sexo: Masculino
Localização: De traz do PC
Contato:

Formulario de Validação em tempo real

30-04-2011 19:20

Esse é o meu input;

<input name="<? echo "$custo[1]"; ?>" id="<? echo "$custo[1]"; ?>" type="text" size="6" maxlength="6" onkeypress="return handleEnter(this, event)" style="width: 46px" onBlur="window.open('resposta.php?prod=<? echo "$codigo"; ?>&valor='+this.value,'<? echo "$custo[1]"; ?>','')">

Quando eu digito um valor, ele envia pra pagina resposta.php, lá faz as verificações e volta as mensagens, de "OK!" ou os respectivos erros.... isso tá funcionando perfeitamente...
O que traz o resultado pra página e este iframe;

<iframe name="<? echo "$custo[1]"; ?>" src="" width="340" height="20" MARGINWIDTH="0" MARGINHEIGHT="0" HSPACE="0" VSPACE="0" FRAMEBORDER="0" SCROLLING="NO" WIDTH="0" HEIGHT="0"></iframe>

Eu gostaria que quando o resultado de todos os iframes fossem OK! liberasse o botão de Submit, como colokei num dos exemplos acima.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17641
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Formulario de Validação em tempo real

30-04-2011 19:26

Vou montar um exemplo em jQuery, daqui a pouco eu posto.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216
Nome: Luan
Sexo: Masculino
Localização: De traz do PC
Contato:

Formulario de Validação em tempo real

30-04-2011 20:10

Ok, fico no aguardo!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17641
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Formulario de Validação em tempo real

30-04-2011 20:30

Vou deixar para você uma base do script, você tem que estudar ele para adaptar para o que precisa.

Esse script faz o seguinte:

Quando o usuário digitar algo no input e sair do input "blur", é mandado o valor do input para outro documento.

Esse documento vai retornar uma resposta. No caso se for "ok", irá habilitar o botão submit.

O script funciona com jQuery

<script src="jquery.js"></script> <script> function verificaDiv() { if(document.getElementById("div").innerHTML=="ok") { // verifica se o valor da div é ok document.getElementById("submit").disabled=false; // habilita o submit } } $(document).ready(function() { // carrega com o documento $("#nome").blur(function() { // ativa o blur ao sair do botão $('#div').load('teste2.php?valor='+this.value); // carrega o documento na div setTimeout("verificaDiv()", 1000); // carrega a verificação do valor da div após 1 segundo }); }); </script> <form> <input type="text" name="nome" id="nome" value=""> <input type="submit" disabled="disabled" id="submit"> </form> <div id="div">...</div>

teste2.php que postei no exemplo vai retornar o ok. Ai você se baseia no script do site, para obter o valor resposta.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216
Nome: Luan
Sexo: Masculino
Localização: De traz do PC
Contato:

Formulario de Validação em tempo real

30-04-2011 21:03

Hmm.. dessa forma não vai ter como eu enquadrar... pois os inputs são criados apartir de quantos itens tem no bd e o nome dele tbm é dado pelo bd...
desse forma me serviria se fosse um input com nome fixo, mas no meu caso eu preciso no GET enviar tanto o nome do input quanto o valor digitado... :x
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17641
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Formulario de Validação em tempo real

30-04-2011 21:40

Ai nesse caso você tem que ver a melhor opção. Porque tem que estudar o que precisa para adaptar.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216
Nome: Luan
Sexo: Masculino
Localização: De traz do PC
Contato:

Formulario de Validação em tempo real

30-04-2011 23:33

Coloquei verificação no ultimo só e deu de boa... Vlw.. ^^
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17641
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Formulario de Validação em tempo real

01-05-2011 10:38

Boa.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado