Ir para conteúdo

POWERED BY:

Arquivado

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

puro osso sinistro

Ir para página específica em paginação

Recommended Posts

Olá pessoal.

 

Tenho um pequeno form em uma paginação que estou fazendo que tem um INPUT TEXT e um BOTÃO.

Quando eu digito um número no campo ele manda pra pagina digitada:

echo "
<form name='formulario' onsubmit=\"document.location.href='carreira.php?a=3&pg=' + (this.cp_pagina.value); return false;\">

<input type='text' name='cp_pagina' id='cp_pagina' value='Pular para' onfocus='if (this.value==\"Pular para\") this.value=\"\";' onblur='if (this.value==\"\") this.value=\"Pular para\"'>

<input type='submit'>

</form>
";

Funciona beleza, porém quando a pessoa digita uma letra (ou outro caracter que não sej anúmero) ou um número maior que o número de páginas existentes dá pau.

Alguém poderia me dar um auxílio em como construir algo com esta estrutura:

if (this.cp_pagina.value = SOMENTE NÚMEROS)
{

if(this.cp_pagina.value > $TOTALDEPAGINAS)
{
this.cp_pagina.value = $TOTALDEPAGINAS
}else{
this.cp_pagina.value
}

}else{
dá um alert do tipo (digite um número válido) 
}

Onde $TOTALDEPAGINAS é uma variável em PHP.

Agradeço de antemão a ajuda!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, Bom Dia! Você pode fazer essa vereficação usando derrepente HTML5, exemplo:

<input type="number" min="18" max="60" name="NOME DO CAMPO NUMERO">// Caracteries mínima que deve ser digitado = Min e máxima = Max

Você também pode vereficar no PHP, se o numero é maior ou não é número.

 

Espero ter Ajudado ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá jgustavo99.

 

Essa verificação tem que ser feita em Javascript pois terá que ser feita no CLIENT-SIDE. Assim evito uma chamada e também verificações em php. Sei que é possível porque o script postado já está funcionando, porém preciso de algo mais REFINADO em javascript, linguagem que não domino muito.

 

Por favor pessoal me ajudemmmmm!!!!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, para a PRIMEIRA PARTE da minha solicitação, que seria a VERIFICAÇÃO de caractres do campo, eu dei uma adaptada de um script que já possuia para verificação CLIENT-SIDE de formulários:

/* Função para validação de formulário */
function valida_pagina()
{
/* Verificando preenchimento */
var verifica_preenchimento1 = document.formulario.cp_pagina.value;
if (verifica_preenchimento1 == "")
{
alert("O campo PAGINAÇÃO precisa ser preenchido.");
return false;
}
/* Fim */
/* Verificando caracteres */
var verifica_caracteres_campo1 = document.formulario.cp_pagina;
var verifica_caracteres_molde1 = /^[0-9]+$/;
if(!verifica_caracteres_campo1.value.match(verifica_caracteres_molde1))
{
alert("O campo PAGINAÇÃO aceita somente números.");
return false;
}
/* Fim */
/* Restringindo tamanho do campo */
var verifica_tamanho_field1 = document.formulario.cp_pagina.value;
var verifica_tamanho_mnlen1 = 1;
var verifica_tamanho_mxlen1 = 10;
if(verifica_tamanho_field1.length == 1)
{
var verifica_tamanho_esse1 = "caracter"; 
} else {
var verifica_tamanho_esse1 = "caracteres"; 
}
if(verifica_tamanho_field1.length < verifica_tamanho_mnlen1 || verifica_tamanho_field1.length > verifica_tamanho_mxlen1)
{
alert("O campo PAGINAÇÃO precisa ter entre " +verifica_tamanho_mnlen1+ " e " +verifica_tamanho_mxlen1+ " caracteres e ele só possui " +verifica_tamanho_field1.length+ " " +verifica_tamanho_esse1+ ".");
return false;
}
/* Fim */
return true;
}
/* Fim */

Isso eu tenho certeza que funciona, desde que o formulário se chame "formulário" e o input text "cp_pagina".

Preciso de ajuda para a SEGUNDA PARTE da minha solicitação. Ajudaaaaa!!!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, RESOLVI o meu problema. Vou postar aqui caso alguém passe pelo mesmo problema:

 

Na página PHP onde faz-se a listagem:

echo "
<form name='formulario' onSubmit='return valida_pularpara()'; return false;>

<input type='text' name='cp_pagina' id='cp_pagina' class='inputtext2' maxlength='10' value='Pular para' onfocus='if (this.value==\"Pular para\") this.value=\"\";' onblur='if (this.value==\"\") this.value=\"Pular para\"'>

<input type='hidden' name='cp_total' value='" . $cp_total . "'>
<input type='submit' name='botao14' value='' class='botao14' title='Enviar'>

</form>
";

No arquivo JS:

// Função para validação de formulário
function valida_pularpara()
{

// Setando variáveis
var campo1 = document.formulario.cp_pagina.value; // Página digitada
var campo2 = document.formulario.cp_total.value; // Total de páginas da listagem
// Fim

// Setando flag de erros
var flag = "sim";
// Fim

// Verificando preenchimento
var verifica_preenchimento = campo1;
if (verifica_preenchimento == "")
{
alert("O campo PULAR PARA precisa ser preenchido.");
return false;
var flag = "nao";
}
// Fim

// Verificando caracteres
var verifica_caracteres_campo = campo1;
var verifica_caracteres_molde = /^[0-9]+$/;
if(!verifica_caracteres_campo.match(verifica_caracteres_molde))
{
alert("O campo PULAR PARA aceita somente números.");
return false;
var flag = "nao";
}
// Fim

// Verificando tamanho do campo
var verifica_tamanho_field = campo1;
var verifica_tamanho_mnlen = 1;
var verifica_tamanho_mxlen = 10;
if(verifica_tamanho_field.length == 1)
{
var verifica_tamanho_esse = "caracter"; 
} else {
var verifica_tamanho_esse = "caracteres"; 
}
if(verifica_tamanho_field.length < verifica_tamanho_mnlen || verifica_tamanho_field.length > verifica_tamanho_mxlen)
{
alert("O campo PULAR PARA precisa ter entre " +verifica_tamanho_mnlen+ " e " +verifica_tamanho_mxlen+ " caracteres e ele atualmente possui " +verifica_tamanho_field.length+ " " +verifica_tamanho_esse+ ".");
return false;
var flag = "nao";
}
// Fim

// Verificando valor menor
var verifica_valormenor_campo = campo1;
if(verifica_valormenor_campo < 1)
{
alert("O campo PULAR PARA não pode ser menor que 1.");
return false;
var flag = "nao";
}
// Fim

// Verificando valor maior
var verifica_valormaior_campo1 = campo1;
var verifica_valormaior_campo2 = campo2;
if( (verifica_valormaior_campo1) > verifica_valormaior_campo2)
{
alert("O campo PULAR PARA não pode ser maior que " + verifica_valormaior_campo2 + ".");
return false;
var flag = "nao";
}
// Fim

// Verificando se não há erro para redirecionar para a página digitada
if(flag == "sim")
{
document.location.href='conteudo_carreira.php?a=3&pg=' + (campo1) + '';
return false;
}
// Fim

return true;

}
// Fim

É isso!

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.