Anexo I: Rotinas JS para aplicar aos formulários

Veremos vários exemplos de scripts JavaScript aplicáveis a formulários que aumentarão a funcionalidade deste.

Por Eugenia Bahit


Publicado em: 16/1/09
Valorize este artigo:

 

 

1. Colocar o foco em um determinado campo ao carregar a página

 

<BODY onLoad="this.document.ejemplo1.campo1.focus()">

 

<form name="exemplo1" method="GET" action="pagina.htm" target="_blank">

Escreva seu nome: <input type="text" name="campo1" size="15">

<input type="submit" value="Enviar">

</form>

 

Escreva seu nome:

 

2. Converte a primeira letra de cada palavra em maiúscula

 

<script language="javascript">
function Converter(objeto)

{
var index;
var tmpStr;
var tmpChar;
var preString;
var postString;
var strlen;
tmpStr = objeto.value.toLowerCase();
strLen = tmpStr.length;
    if (strLen > 0)
    {
    for (index = 0; index < strLen; index++)
        {
        if (index == 0)
            {
            tmpChar = tmpStr.substring(0,1).toUpperCase();
            postString = tmpStr.substring(1,strLen);
            tmpStr = tmpChar + postString;
            }
            else
            {
            tmpChar = tmpStr.substring(index, index+1);
                if (tmpChar == " " && index < (strLen-1))
                {
                tmpChar = tmpStr.substring(index+1, index+2).toUpperCase();
                preString = tmpStr.substring(0, index+1);
                postString = tmpStr.substring(index+2,strLen);
                tmpStr = preString + tmpChar + postString;
                }
            }
        }
    }
objeto.value = tmpStr;
}
</script>

 

<form name="exemplo2" method="GET" action="pagina.htm" target="_blank">

Escreva seu nome: <input type="text" name="campo1" size="15" onKeyUp="Converter(this.exemplo2.campo1)">
<input type="submit" value="Enviar">
</form>

 

Escreva seu nome:

 

3. Converte a primeira letra do texto em maiúsculas (ao enviar o formulário)

 

<script language="javascript">
function Converter2(form)
{
texto=form.campo1.value+" ";
texto=texto.toLowerCase();
texto1="";
punc=",.?!:;)'";
punc+='"';
while ((texto.length>0)&&(texto.indexOf(" ")>-1))
    {
    pos=texto.indexOf(" ");
    wrd=texto.substring(0,pos);
    wrdpre="";
        if (punc.indexOf(wrd.substring(0,1))>-1)
        {
        wrdpre=wrd.substring(0,1);
        wrd=wrd.substring(1,wrd.length);
        }
        cmp=" "+wrd+" ";
        for (var i=0;i<9;i++)
        {
        p=wrd.indexOf(punc.substring(i,i+1));
            if (p==wrd.length-1)
            {
            cmp=" "+wrd.substring(0,wrd.length-1)+" ";
            i=9;
            }
        }
    if (cmp.indexOf(cmp)<0)
    {
    ltr=wrd.substring(0,1);
    ltr=ltr.toUpperCase();
    wrd=ltr+wrd.substring(1,wrd.length);
    }
    texto1+=wrdpre+wrd+" ";
    texto=texto.substring((pos+1),texto.length);
    }
ltr=texto1.substring(0,1);
ltr=ltr.toUpperCase();
texto1=ltr+texto1.substring(1,texto1.length-1);
form.campo1.value=texto1;
}
</script>

 

<form name="exemplo3" method="GET" action="pagina.htm" target="_blank">
Escreva seu nome: <input type="text" name="campo1" size="15">
<input type="button" value="Enviar" onClick="Converter2(this.form)">
</form>

 

Escreva seu nome:

 

4. Escreve um valor indicado em outra janela, no formulário aberto

 

Formulário da página atual

<form name="exemplo8" method="GET" action="pagina.htm" target="_blank">

Por favor, introduz o código correspondente à cor

Código cor: <input type="text" name="campo1" size="7">

<a onClick="window.open('exemplos/paleta.htm',null,'widht=150,height=100')" style="cursor: hand">Ver Paleta</a>

<input type="submit" value="Enviar">
</form>

 

Paleta de cores (paleta.htm)

<form name="cores">

<input type="radio" name="color" value="#800000" onClick="opener.document.exemplo8.campo1.value=cores.color[0].value"><font color="#800000">marrom</font>

<br>

<input type="radio" name="color" value="#FF00FF" onClick="opener.document.exemplo8.campo1.value=cores.color[1].value"><font color="#FF00FF">roxo</font>

<br>
<a href="javascript:window.close()"><b>x fechar janela</b></a>
</form>

 

Por favor, introduza o código correspondente à cor

Código cor: Ver Paleta

 

5. Comprova que o valor ingressado em dois campos não seja o mesmo

 

<script languaje="javascritp">

function validarCampos1(form)

{

    if(form.campo1.value == form.campo2.value)

    {

    alert("A senha não pode ser igual ao nome de usuário");

    form.campo2.value = ""; form.campo2.focus(); return true;

    }

form.submit()

}

</script>

 

<form name="exemplo9" method="POST" action="pagina.htm" target="_blank">

Usuário: <input type="text" name="campo1"><br>

Senha: <input type="password" name="campo2"><br>

<input type="button" value="Registrar-se" onClick="validarCampos1(this.form)">

</form>

 

Usuário:
Senha:

 

6. Comprova que o valor ingressado em dois campos seja igual

 

<script languaje="javascritp">

function validarCampos2(form)

{

    if(form.campo2.value == form.campo1.value)

    { form.submit(); }

    else

    {

    alert("A repetição da senha não coincide.");

    form.campo2.value = ""; form.campo2.focus(); return true;

    }

}

</script>

 

<form name="exemplo10" method="POST" action="pagina.htm" target="_blank">

Senha: <input type="password" name="campo1"><br>

Repetir senha: <input type="password" name="campo2"><br>

<input type="button" value="Registrar-se" onClick="validarCampos2(this.form)">

</form>

 

Senha:
Repetir senha:

 

7. Permite selecionar só uma determinada quantidade de checkbox do mesmo nome

 

<script language="javascript">
function limitarSelecção(campo,form)

{
a = campo.form.campo1[0].checked;
b = campo.form.campo1[1].checked;

c = campo.form.campo1[2].checked;

d = campo.form.campo1[3].checked;

e = campo.form.campo1[4].checked;


contador = (a ? 1 : 0) + (b ? 1 : 0) + (c ? 1 : 0) + (d ? 1 : 0) + (e ? 1 : 0);

    if (contador > 3)

    {
    alert("Só pode selecionar 3 opções");
    campo.checked = false;
    }
}
</script>

 

<form name="exemplo11" method="GET" action="pagina.htm" target="_blank">

Por favor, selecione 3 opções como máximo:<br>

<input type="checkbox" name="campo1" value="Opcao 1" onClick="limitarSeleção(this,this.form)">Opção 1<br>

<input type="checkbox" name="campo1"  value="Opcao 2" onClick="limitarSeleção(this,this.form)">Opção 2<br>

<input type="checkbox" name="campo1"  value="Opcao 3" onClick="limitarSeleção(this,this.form)">Opção 3<br>

<input type="checkbox" name="campo1"  value="Opcao 4" onClick="limitarSeleção(this,this.form)">Opção 4<br>

<input type="checkbox" name="campo1"  value="Opcao 5" onClick="limitarSeleção(this,this.form)">Opção 5<br>

<input type="submit" value="Enviar">

</form>

 

Por favor, selecione 3 opções como máximo:
Opção 1
Opção 2
Opção 3
Opção 4
Opção 5

 

8. Seleciona todos os checkbox com um só clique ou desmarca a seleção

 

<script language="javascript">
function todos(form)
{
    for (i = 0; i < form.campo1.length; i++)
    form.campo1[i].checked = true;
    form.desmarcatodos.checked = false;
}

function ninguno(form)
{
    for (i = 0; i < form.campo1.length; i++)
    form.campo1[i].checked = false;
    form.marcatodos.checked = false;
}
</script>

 

<form name="exemplo12" method="GET" action="pagina.htm" target="_blank">

<input type="checkbox" name="marcatodos" onClick="todos(this.form)">Marcar todos |

<input type="checkbox" name="desmarcatodos" onClick="ninguno(this.form)">Desmarcar todos

<hr>

<input type="checkbox" name="campo1" value="Opcao 1">Opção 1<br>
<input type="checkbox" name="campo1" value="Opcao 2">Opção 2<br>
<input type="checkbox" name="campo1" value="Opcao 3">Opção 3<br>
<input type="checkbox" name="campo1" value="Opcao 4">Opção 4<br>
<input type="checkbox" name="campo1" value="Opcao 5">Opção 5<br>

<hr>

<input type="submit" value="Enviar">
</form>


Marcar todos | Desmarcar todos


Opção 1
Opção 2
Opção 3
Opção 4
Opção 5


 

9. Seleciona todos os checkbox com um só clique ou desmarca a seleção ou inverte a seleção

 

<script language="javascript">
function todos2(form)
{
    for (i = 0; i < form.campo1.length; i++)
    form.campo1[i].checked = true;
    form.desmarcatodos.checked = false;

    form.inverte.checked = false;

}

function nenhum2(form)
{
    for (i = 0; i < form.campo1.length; i++)
    form.campo1[i].checked = false;
    form.marcatodos.checked = false;

    form.inverte.checked = false;

}

 

function inverter(form)
{
    for (i = 0; i < form.campo1.length; i++)
    form.casilla1[i].checked = !form.campo1[i].checked;
    form.marcatodos.checked = false;

    form.desmarcatodos.checked = false;

}
</script>

 

<form name="exemplo13" method="GET" action="pagina.htm" target="_blank">

<input type="checkbox" name="marcatodos" onClick="todos(this.form)">Marcar todos |

<input type="checkbox" name="desmarcatodos" onClick="nenhum(this.form)">Desmarcar todos |

<input type="checkbox" name="inverte" onClick="inverter(this.form)">Inverter seleção

<hr>

<input type="checkbox" name="campo1" value="Opcao 1">Opção 1<br>
<input type="checkbox" name="campo1" value="Opcao 2">Opção 2<br>
<input type="checkbox" name="campo1" value="Opcao 3">Opção 3<br>
<input type="checkbox" name="campo1" value="Opcao 4">Opção 4<br>
<input type="checkbox" name="campo1" value="Opcao 5">Opção 5<br>

<hr>

<input type="submit" value="Enviar">
</form>

 

Marcar todos | Desmarcar todos | Inverter seleção


Opção 1
Opção 2
Opção 3
Opção 4
Opção 5


 

10. Conta a quantidade de checkbox ou radio que há selecionados

 

<script languaje="javascript">

function ContarCampos(form)

{

var total = 0;

var maximo = form.campo1.length;

 

    for(i = 0; i < maximo; i++)

    if (form.campo1[i].checked == true)

    { total +=1; }

 

alert("Selecionaram " + total + " opções")

}

</script>

 

<form name="exemplo14" method="GET" action="pagina.htm" target="_blank">

<input type="checkbox" name="campo1" value="Vermelho">Vermelho<br>

<input type="checkbox" name="campo1" value="Azul">Azul<br>

<input type="checkbox" name="campo1" value="Amarelo">Amarelo<br>

<input type="checkbox" name="campo1" value="Verde">Verde<br>

<input type="button" value="Contar campos" onClick="ContarCampos(this.form)">

</form>

 

Vermelho
Azul
Amarelo
Verde

 






Usuários :    login / registro
Manuais relacionados
Categorias relacionadas
O autor

Home | Sobre nós | Copyright | Anuncie | Entrar em contato