PDA

Ver Versão Completa : [PHP] Aula 02 - Um Pouco de Javascript!!



CCV_HEALbra
21-06-2008, 06:09 PM
Introdução a JavaScript

Através desse tutorial vou tentar ensinar alguma coisa muito usada em javascript para integarir com linguagens web em geral...o bloqueio de forms..restrição de cadastros!!

Segundo o wikipédia:


JavaScript é uma linguagem de programação criada pela Netscape em 1995, que a princípio se chamava LiveScript, para atender, principalmente, as seguintes necessidades:

• Validação de formulários no lado cliente (programa navegador);

• Interação com a página. Assim, foi feita como uma linguagem de script. Javascript tem sintaxe semelhante à do Java, mas é totalmente diferente no conceito e no uso.

1. Oferece tipagem dinâmica - tipos de variáveis não são definidos;
2. É interpretada, ao invés de compilada;
3. Possui ótimas ferramentas padrão para listagens (como as linguagens de script, de modo geral);
4. Oferece bom suporte a expressões regulares (característica também comum a linguagens de script).


http://pt.wikipedia.org/wiki/JavaScript

bom..nao sabia q era tão novo!!

HAHAHAHA..
Vamos lá..

Mais uma vez vou falar que não vou ensinar a programar..nem vou ensinar algo como arrays e coisa do tipo..vou ensinar somente alguns bloqueios..e daí pode-se chegar ao resto!!

^^

Vamos fazer uma página simples com um formulário:

Index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>::JS::</title>
</head>

<body>
<form id="frm_cadastra" name="frm_cadastra" method="post" action="">
Nome: <input type="text" id="nome" name="nome" /><br />
Senha: <input type="text" id="senha" name="senha" /><br />
<input type="submit" id="botao" value="Enviar" />
</form>
</body>
</html>

Na aula passada vimos os html’s...a diferença que agora tem um form...que no caso vai ter 3 ferramentas a mais dentro..

Dois campos text e um submit..q é o botão!!
xD

vamos supor q isso seria o nosso login!!

Como bloqueiar para que a pessoa digite o nome??

Oo
Vamos fazer uma javascript:

Eu não sei particulamente aonde fica o JS..sei q eh antes do body..mas nao sei se eh dentro ou fora do head..ai eu coloco fora!!

^^


<script language="javascript"></script>

Bom..um conceito básico e geral para todas as linguagens de programação...o que é função?


Na hora de fazer um programa levemente grande existem determinados processos que se podem conceber de forma independente, e que são mais simples de resolver que o problema inteiro. Ademais, estes costumam ser realizados repetidas vezes ao longo da execução do programa. Estes processos podem se agrupar em uma função, definida para que não tenhamos que repetir uma vez ou outra esse código em nossos scripts, e sim, simplesmente chamamos a função, e ela se encarrega de fazer tudo o que deve.

Segundo nosso amigo do site: http://www.criarweb.com/artigos/229.php

Bom..com o conceito..vamos criar uma função para ser chamanda quando o cara clicar no botão!!


function bloqueia() {
}

Bom...bloqueia é o nome da função...o () serve para caso se vc fosse chamar uma variável de fora..vc setaria lá dentro..como não é o nosso caso...

:D

Bom..vindo da lógica de programação (que tem exercícios aqiu no fórum!)

http://www.ccvgaming.com/forum/showthread.php?t=500

Vamos fazer a seguinte lógica!


Se o valor do campo for vazio...
Então ele retornará uma mensagem e pausará o script dá página!
Fim_se

No javascript:


if(!document.frm_cadastra.nome.value) {
window.alert('Nome deve ser preenchido!');
return false;
}

Onde o document.frm_cadastra.nome.value é o seguinte modelo:

Document.nome_do_formulario.nome_do_campo.value...
Window.alert vai abrir aquela janelinha chata do browser

E return false vai para o script!!

O ruim do js q qd dá erro ele nao avisa..simplesmente nao roda (pelo menos no FF)..no IE tem um alerta no canto esquerdo inferior falando quando dá erro!!

Para que o formulário rode a função..devemos adicionar a seguinte linha:


onsubmit="return bloqueia();"

Nosso código está assim:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>::JS::</title>
</head>
<script language="javascript">
function bloqueia() {
if(!document.frm_cadastra.nome.value) {
window.alert('Nome deve ser preenchido!');
return false;
}
}
</script>

<body>
<form id="frm_cadastra" name="frm_cadastra" method="post" action="" onsubmit="return bloqueia();">
Nome: <input type="text" id="nome" name="nome" /><br />
Senha: <input type="text" id="senha" name="senha" /><br />
<input type="submit" id="botao" value="Enviar" />
</form>
</body>
</html>

Se você rodar a página..irá perceber que deve preencher o campo nome..

Vamos fazer o campo senha..é a msma coisa..:


if(!document.frm_cadastra.senha.value) {
window.alert('Senha deve ser preenchido!');
return false;
}

Só muda o nome do campo e a mensagem!!
Legal..agora vamos incrementar esse script??
Como eu nunnca vi nome com menso de 2 letras..vamos colocar pra bloqueiar isso e vamos colocar para focar no campo qd estiver vazio!!


<script language="javascript">
function bloqueia() {
if(document.frm_cadastra.nome.value.length<2) {
window.alert('Nome deve ser preenchido!');
document.frm_cadastra.nome.focus();
return false;
}
if(document.frm_cadastra.senha.value.length<2) {
window.alert('Senha deve ser preenchido!');
document.frm_cadastra.senha.focus();
return false;
}
}
</script>

Perceba que usei length depois do .value!
Isso quer dizer quantidaade de caracteres!!

^^

Vamos agora fazer algo diferente..mais bonitinho..

Em vez dessa mensagem chata (window.alert)..vamos fazer aparecer uma div com a mensagem..

Para isso vamos criar a div..

<div id="erro">
<input type="text" id="cmp_erro" name="cmp_erro" style="border:0px; background-color: #FFFFFF;" /><br />
</div>

O campo cmp_Erro vai receber as mensagens..com isso tiramos a borda e colocamos fundo da cor do fundo do site...branco!

Vamos agora fazer sumir a tabela..afinal..ela começa desaparecida!


function show() {
document.getElementById("erro").style.display = 'none';
}

Outra função..chamada show()...ela vai pegar alguma coisa com id erro e vai desaparecer com ele..

Mas para isso..devemos chamá-la em algum lugar...afinal função nao roda se não chamarmos...

:D

No final da sua página (deve ser depois do elemento que ela usa...eu aconselho colocar depois do código inteiro..depois do body e do html) vamos colocar isso:


<script language="javascript">
show();
</script>

Bom..agora rode seu site..você vai ser que não mudou muita coisa!!

xD..ficou identico :D

vamos agora fazer com q ele apareça e o campo receba a msg caso esteja faltando preencher o campo!

Apague isso:


window.alert('Nome deve ser preenchido!');
document.frm_cadastra.nome.focus();
return false;

e coloque isso:


document.getElementById("erro").style.display = 'block';
document.frm_cadastra.nome.value = 'Nome deve ser preenchido!';
document.frm_cadastra.nome.focus();
return false;

Nosso código geral está assim:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>::JS::</title>
</head>
<script language="javascript">
function show() {
document.getElementById("erro").style.display = 'none';
}

function bloqueia() {
if(document.frm_cadastra.nome.value.length<2) {
document.getElementById("erro").style.display = 'block';
document.frm_cadastra. cmp_erro.value = 'Nome deve ser preenchido!';
document.frm_cadastra.nome.focus();
return false;
}
if(document.frm_cadastra.senha.value.length<2) {
window.alert('Senha deve ser preenchido!');
document.frm_cadastra.senha.focus();
return false;
}
}
</script>

<body>
<form id="frm_cadastra" name="frm_cadastra" method="post" action="" onsubmit="return bloqueia();">
<div id="erro">
<input type="text" id="cmp_erro" name="cmp_erro" style="border:0px; background-color: #FFFFFF;" /><br />
</div>
Nome: <input type="text" id="nome" name="nome" /><br />
Senha: <input type="text" id="senha" name="senha" /><br />
<input type="submit" id="botao" value="Enviar" />
</form>
</body>
</html>
<script language="javascript">
show();
</script>

Se vc rodar o script..vai ver que ele mostrou um campo a mais qd nao coloca nada no campo nome..e ele recebeu um texto..

Vamos aumentar o campo:


<input name="cmp_erro" type="text" id="cmp_erro" style="border:0px; background-color: #FFFFFF;" size="50" />

Eu aumentei o campo pq ficou cortado!!
xD

logo...faça isso no campo senha tb...agora vamos só pintar o campo em destaque pra ficar mais bonito!

:D

document.frm_cadastra.nome.style.backgroundColor = "#DBE4E6";

Como podem ver...o style.backgroundColor vai dar a cor para o campo..

Lembre q o JS eh case senstive..ou seja...backgroundColor..e nao color!!

Agora ficamos com um problema...ele está rodando bonito..mas se tiver certo...ele continua marcado..num eh??

Façamos assim:

if(document.frm_cadastra.nome.value.length<2) {
document.getElementById("erro").style.display = 'block';
document.frm_cadastra.nome.style.backgroundColor = "#DBE4E6";
document.frm_cadastra.cmp_erro.value = 'Nome deve ser preenchido!';
document.frm_cadastra.nome.focus();
return false;
} else {
document.getElementById("erro").style.display = 'none';
document.frm_cadastra.nome.style.backgroundColor = "#FFFFFF";
}

O else...como a lógica de programação fala..é o Senão!

Ou seja..se ele estiver certo..o campo erro some e o campo nome fica branco!!

Façamos o msmo para o campo senha..nosso código inteiro ficará assim:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>::JS::</title>
</head>
<script language="javascript">
function show() {
document.getElementById("erro").style.display = 'none';
}

function bloqueia() {
if(document.frm_cadastra.nome.value.length<2) {
document.getElementById("erro").style.display = 'block';
document.frm_cadastra.nome.style.backgroundColor = "#DBE4E6";
document.frm_cadastra.cmp_erro.value = 'Nome deve ser preenchido!';
document.frm_cadastra.nome.focus();
return false;
} else {
document.getElementById("erro").style.display = 'none';
document.frm_cadastra.nome.style.backgroundColor = "#FFFFFF";
}
if(document.frm_cadastra.senha.value.length<2) {
document.getElementById("erro").style.display = 'block';
document.frm_cadastra.senha.style.backgroundColor = "#DBE4E6";
document.frm_cadastra.cmp_erro.value = 'Senha deve ser preenchido!';
document.frm_cadastra.senha.focus();
return false;
} else {
document.getElementById("erro").style.display = 'none';
document.frm_cadastra.nome.style.backgroundColor = "#FFFFFF";
}
}
</script>

<body>
<form id="frm_cadastra" name="frm_cadastra" method="post" action="" onsubmit="return bloqueia();">
<div id="erro">
<input name="cmp_erro" type="text" id="cmp_erro" style="border:0px; background-color: #FFFFFF;" size="50" />
<br />
</div>
Nome: <input type="text" id="nome" name="nome" /><br />
Senha: <input type="text" id="senha" name="senha" /><br />
<input type="submit" id="botao" value="Enviar" />
</form>
</body>
</html>
<script language="javascript">
show();
</script>

SHOWW!

Agora podemos fazer coisinhas simples no nosso site em JS..q agrada e muito os clientes...

Lembre: coisas simples e detalhadas que fazem você conquistar o cliente!!!

Você poderá agora fazer algumas coisas diversas tais como:

http://www.ericmaicon.com.br/ccv/login.php

...ou seja..o que digo é..você pode fazer algumas coisas mais bem feitas..do que uma janela de browser q td mundo detesta!!

o que eu quero é:
faça uma página chamada contato.php, onde tenha um texto introdutório, logo depois um formulário com os campos:
nome, email, assunto e mensagem...o nome, email e assunto deve ser bloqueiado com uma mensagem bonita...se quiser diversificar fique a vontade!!
vou cobrar
xD!!!
^^

e faltou dois botões ai..o Enviar e o Limpar!!
boa sorte a todos!!

CCV_Pinto
21-06-2008, 06:58 PM
dando um pequeno pitaco:

se quiserem mais sobre javascript: http://www.w3schools.com/js/js_intro.asp

parabéns heal!

abraços

CCV_iStiu
21-06-2008, 09:23 PM
nooossa hein :D
não pensei que a aula 2 ia sair tão rápido assim XD
só achei meio complicado o esquema ai do js :x
pra quem nunca programou assim, é duro, mas depois vou ler de novo e tentar fazer ;D
mas as aulas estão boas o/

congratz;

CCV_HEALbra
22-06-2008, 02:21 PM
eu nao sou muito bom com didática..nunca dei aula e talz..mas foi o q eu falei..qualquer coisa que vc nao entender posta ai!!
xD!!!

WoNHommer
22-06-2008, 09:26 PM
Bom, eu to esperando o PHP.. Quando começar a falar de PHP eu venho aqui, porque to estudando PHP, sempre é bom ter alguem que ja sabe pra ajudar :)

CCV_HEALbra
22-06-2008, 09:43 PM
blz...começa daqui umas duas aulas eu acho..ou uma!!
xD

gostei do seu avatar!!
^^

CCV_iStiu
23-06-2008, 04:56 PM
então, fiz o bagulho todo aqui, mas ele não funfou :]
eu devo ter feito alguma coisa errada, mas não sei aonde XD

html/javascript:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>..:: Contato com Javascript ::..</title>
</head>
<link href="style.css" rel="stylesheet" type="text/css" />
<script language="javascript">
function show() {
document.getElementById("erro").style display = 'none';
}

function bloqueia () {
//Nome
if (document.form.contato.nome.value.lenght<2) {
document.getElementById("erro").style.display = 'block';
document.form.contato.nome.style.backgroundColor = "#ccccff";
document.form.contato.campo_erro.value = 'Nome deve ser Preenchido';
document.form.contato.nome.focus();
return false
} else {
document.getElementById("erro").style.display = 'none';
document.form.contato.nome.style.backgroundColor = "#ffffff";
}
//E-mail
if (document.form.contato.email.value.lenght<5) {
document.getElementById("erro").style.display = 'block';
document.form.contato.email.style.backgroundColor = "#ccccff";
document.form.contato.campo_erro.value = 'E-mail deve ser Preenchido';
document.form.contato.email.focus();
return false
} else {
document.getElementById("erro").style.display = 'none';
document.form.contato.nome.style.backgroundColor = "#ffffff";
}
//Assunto
if (document.form.contato.assunto.value.lenght<2) {
document.getElementById("erro").style.display = 'block';
document.form.contato.assunto.style.backgroundColo r = "#ccccff";
document.form.contato.campo_erro.value = 'Assunto deve ser Preenchido';
document.form.contato.assunto.focus();
return false
} else {
document.getElementById("erro").style.display = 'nome';
document.form.contato.style.backgroundColor = "#ffffff";
}
}

</script>

<body>
<div id="tudo">
<p>Formulário de Contato</p>

<form name="form_contato" id="form_contato" method="post" action="" onsubmit="return bloqueia();">
<div id="erro">
<input type="text" id="campo_erro" name="campo_erro" />
<br />
</div>

<fieldset>
<legend>Contato</legend>
Nome:<input type="text" name="nome" id="nome" /><br />
E-mail:<input type="text" name="email" id="email" /><br />
Assunto:<input type="text" name="assunto" id="assunto" /><br />
Menssagem:<textarea></textarea><br />
<input type="submit" id="botao" value="Enviar" />
<input type="reset" id="botao" value="Limpar Dados" />
</fieldset>
</form>
</div>

</body>
</html>

<script language="javascript">
show();
</script>


e só uma perguntinha:
eu tava vendo que em alguns lugares você usou 'aspas simples' e em outros "aspas duplas" isso tem alguma coisa haver ou tanto faz ?
e pra que serve esse focus ?

document.frm_cadastra.nome.focus();


:jump:

CCV_HEALbra
23-06-2008, 11:44 PM
sabe aquela barrinha que fica piscando quando vc clica no campo??
esperando digitar??

o comando document.frm_cadastra.nome.focus(); vai colocar ela no campo que vc setou!!
^^

do u undestand??
:D:D:D

agora sobre o código:


document.getElementById("erro").style display = 'none';
vc esqueceu do ponto entre o style e o display!!


if (document.form.contato.nome.value.lenght<2) {
nao eh lenght..eh length..e outra...o seu form tem o nome de form_contato..e vc usou form em tudo??

:D
mude o nome do formulário para form para ficar mais fácil do que mudar todo o JS!
e outra..no mesmo quote..vc colocou form.contato.nome...
Oo

eh só form.contato ou form.nome...acho q era pra ser form.nome!!
xD

aliás..vc colocou esse contato em td..Oo

os length estão todos errados!!
^^


document.getElementById("erro").style.display = 'nome';
quase na última linha vc colocou nome..é none!!
xD

Concertando isso fica tudo certo!!
ahueahua

quer saber como ver erros em JS??

http://img204.imageshack.us/img204/8477/imagemvm4.jpg

no canto infeirior esquerdo ele avisa qd tem erro..clique duas vezes lá e marque a opção que ele vai mostrar..ai toda vez q tiver erro ele vai aparecer essa janela ai do meio falando sobre!!

isso só no IE..e no 7..nao sei se antes tem isso...unica coisa q sei q ajuda com js..pq o resto..

seu código corrigido:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>..:: Contato com Javascript ::..</title>
</head>
<link href="style.css" rel="stylesheet" type="text/css" />
<script language="javascript">
function show() {
document.getElementById("erro").style.display = 'none';
}

function bloqueia () {
//Nome
if (document.form.nome.value.length<2) {
document.getElementById("erro").style.display = 'block';
document.form.nome.style.backgroundColor = "#ccccff";
document.form.campo_erro.value = 'Nome deve ser Preenchido';
document.form.nome.focus();
return false
} else {
document.getElementById("erro").style.display = 'none';
document.form.nome.style.backgroundColor = "#ffffff";
}
//E-mail
if (document.form.email.value.length<5) {
document.getElementById("erro").style.display = 'block';
document.form.email.style.backgroundColor = "#ccccff";
document.form.campo_erro.value = 'E-mail deve ser Preenchido';
document.form.email.focus();
return false
} else {
document.getElementById("erro").style.display = 'none';
document.form.nome.style.backgroundColor = "#ffffff";
}
//Assunto
if (document.form.assunto.value.length<2) {
document.getElementById("erro").style.display = 'block';
document.form.assunto.style.backgroundColor = "#ccccff";
document.form.campo_erro.value = 'Assunto deve ser Preenchido';
document.form.assunto.focus();
return false
} else {
document.getElementById("erro").style.display = 'none';
document.form.style.backgroundColor = "#ffffff";
}
}

</script>

<body>
<div id="tudo">
<p>Formulário de Contato</p>

<form name="form" id="form" method="post" action="" onsubmit="return bloqueia();">
<div id="erro">
<input type="text" id="campo_erro" name="campo_erro" />
<br />
</div>

<fieldset>
<legend>Contato</legend>
Nome:<input type="text" name="nome" id="nome" /><br />
E-mail:<input type="text" name="email" id="email" /><br />
Assunto:<input type="text" name="assunto" id="assunto" /><br />
Menssagem:<textarea></textarea><br />
<input type="submit" id="botao" value="Enviar" />
<input type="reset" id="botao" value="Limpar Dados" />
</fieldset>
</form>
</div>

</body>
</html>

<script language="javascript">
show();
</script>

CCV_iStiu
23-06-2008, 11:51 PM
aahhh garoto :D
agora ficou bonito asghçkgslags ^^
apenas alguns erros de digitação (:

nossa que jurava que no seu exemplo eu tinha visto um " . " no lugar de um " _ "
-.-
por isso coloquei form.contato
agora o resto foi só besteira =D

mas resumindo, ate que deu pra entender legal, só não consigo fazer isso sem consulta agSHÇGASGSA XD

CCV_HEALbra
24-06-2008, 12:07 AM
é com o tempo
meu sonho era passar isso pra array..saca aqueles trem de nao precisar criar um pra cada campo??
só chamar e pá??
mas ainda nao tive saco pra isso!!
xD

JS eu mexo pra fazer direfenças besta..mas q agrada o cliente..tipo essas msg ai...
:P

logo logo vem MySQL pra galerA!!

CCV_iStiu
24-06-2008, 10:50 AM
aee, tá ai bonitinho

http://www.kissefoda.com/php/contato.php

mas ainda tem um problema :D
tipo no meu quando aparece a msg "campo deve deve ser preenchido" da pra apagar ela, e escrever qualquer coisa como um campo normal o.o'
e no seu não tem como apagar .-.
what's the problem ? 8D

CCV_HEALbra
24-06-2008, 10:53 AM
coloca no campo <input ... readonly />

ficou show veio!!!
:D
1000x melhor do q window.alert!!

CCV_iStiu
24-06-2008, 11:52 AM
aaagora sim ficou gato :D

http://www.kissefoda.com/php/contato.php

:joia;):


ps: agente vai aprender como fazer aquelas imagem carregar na mesma página, ai tipo o fundo fica meio escuro.
tipo esse site aqui de exemplo
http://www.rudnick.com.br/novo/produto.php?id_categoria=6

quando você clica na imagem pequena, ela abre ampliada na mesma página
isso não é feito em flash né ?
é em javascript ? ajax ? ou alguma coisa do tipo ? XD

CCV_HEALbra
24-06-2008, 01:50 PM
aeeahaehuhu
tá doido veio??
nao sou programador de JS..
aeuheahuae

eh AJAX ou JS..nao lembro..se quer esse tuto ai:
http://www.dynamicdrive.com/dynamicindex4/

eu só dei a base..isso ai eu nao sei fazer!!

seu form ficou maneiro!!
xD

CCV_iStiu
24-06-2008, 10:55 PM
aproveitando o tópico, tenho mais uma dúvidas XD

tipo, em um formulário, como que faz ali no caso do e-mail pra saber se é e-mail mesmo

por exemplo, pro cara não chegar e coloca "abc" no campo do e-mail
tipo algum comando pra ver se tem "@" ou alguma coisa do tipo

um pra telefone também por exemplo, pro campo não aceitar letras, só números
:D

e você não me respondeu o esquema lá das 'aspas simples' e "aspas duplas" se tem alguma diferença no lugares que você usou, ou tanto faz qualquer uma :}


off: acho que tu nem vai querer continuar as aulas, de tanta pergunta que eu faço :X
aGSGLKHASHÇAGSLKAGS

:D

CCV_HEALbra
25-06-2008, 09:38 AM
document.frm_cad.email.value.indexOf("@") == -1
eu coloco isso e restrinjo a mais de 5 caracteres (tipo um email [email protected] tem 6 caracteres)
xD

eu uso essa função aqui pra telefone:

function Tel_formata(campo) {
separador1 = '(';
separador2 = ')';
separador3 = '-';
conjunto1 = 0;
conjunto2 = 3;
conjunto3 = 8;
if (campo.value.length == conjunto1) {
campo.value = campo.value + separador1;
}
if (campo.value.length == conjunto2) {
campo.value = campo.value + separador2;
}
if (campo.value.length == conjunto3) {
campo.value = campo.value + separador3;
}
};

essa se nao me engano nao foi eu quem fiz..eu fiz essa:

function hora_formata(campo) {
separador = ':';
conjunto1 = 2;
if(campo.value.length == conjunto1) {
campo.value = campo.value + separador;
}
};

e pra números:

function PermiteNumeros() {
if(event.keyCode<45 || event.keyCode>57) {
event.returnValue=false;
};
};

só que ela não deu certo no FF..só no IE!!
:/

bom...esses dias pra traz li em PHP falando q as aspas duplas fazia repetir a função 2x...saca??
ele repete o comando 2x...já a simples não..deve ser a msma coisa pra JS ou qualquer outra linguagem!!
^^

more??

eh bom ver perguntando..pq ai vc vê q realmente tem alguém dando moral!!
xD

edit:
http://www.pedrocorreia.net/mySnippets/javascript/RestringirCaracteres

esse ai bloqueia no FF!!

CCV_iStiu
25-06-2008, 10:33 AM
ahmm (:
mas tipo ali no e-mail num tinha que coloca o "length<5" não ? o.o

e no outro no telefone, ele já coloca ate os (parenteses) do DDD e o -traço- entre os números né ?

mas nessa função:

function Tel_formata(campo) {
separador1 = '(';
separador2 = ')';
separador3 = '-';
conjunto1 = 0;
conjunto2 = 3;
conjunto3 = 8;
if (campo.value.length == conjunto1) {
campo.value = campo.value + separador1;
}
if (campo.value.length == conjunto2) {
campo.value = campo.value + separador2;
}
if (campo.value.length == conjunto3) {
campo.value = campo.value + separador3;
}
};


e pra bloquear as letras no firefox, é essa ai do link mesmo que você passou ?



<html>
<head>
<script type="text/javascript">
function IsNumber(evt){
var charCode = (evt.which) ? evt.which : event.keyCode;
return (charCode>=48 && charCode<=57 || charCode<20);
}
</script>
</head>
<body>
Campo de Teste: <input type="text" name="txtOnlyNumbers" onKeypress="return IsNumber(event);">
</body>
</html>

CCV_HEALbra
25-06-2008, 10:56 AM
vc pode fazer tanto junto quanto separado:


if(document.frm_cad.email.value.indexOf("@") == -1 || document.frm_cad.email.value.length <5) {

sim..o do telefone faz td!!
o da hora coloca ponto..eu tenho outro aqui tb..nem lembro!!
xD

eh esse mesmo..eu testei!!
xD