Função Javascript No PHP [RESOLVIDO]

1. Função Javascript No PHP [RESOLVIDO]

Jorge Augusto Rabello Pinto
jorgerabello

(usa Ubuntu)

Enviado em 29/04/2012 - 23:52h

Falar galera !

Seguinte sou novo em PHP, Javascript AJAX e afins...

Mas estou meio enrolado aqui com um código. Este código deveria fazer trazer um valor do banco de dados MySQL para edição, o problema é que existe uma máscara que está programada em JavaScript e que não está rolando alguém poderia me ajudar seguem trechos do código.

<script language="JavaScript" type="text/javascript">
<!--
function formatar(src, mask)
{
var i = src.value.length;
var saida = mask.substring(0,1);
var texto = mask.substring(i)
if (texto.substring(0,1) != saida)
{
src.value += texto.substring(0,1);
}
}
-->
</script>


echo "<td width=199>Telefone Fixo:<br />";
echo "<input name=tel_fixo type=text size=30 maxlength=80 value='$ln[tel_fixo]' onkeypress=formatar(this, ## ####-####) >";

OBS:
No HTML puro funciona mas dentro do echo do php não ! Alguém saberia me apontar onde estou errando ?

OBS 2:
$ln[tel_fixo] é o dado armazenado no banco que o script traz para editar !


Grato !








  


2. Re: Função Javascript No PHP [RESOLVIDO]

Silvério Coelho Sepulveda
isilver

(usa CentOS)

Enviado em 30/04/2012 - 07:00h

Amigo também não tenho grande experiência, mas acho que deveria começar trocando a chamada, de onKeyPress para onKeyUp, e pondo a máscara entre aspas.

Caso não funcione, tenho uma função que inseri várias máscaras, data, cpf, somente número, moeda e agora acescentei peso, que tem 3 casas decimais, caso queira me fala que te passo.




3. Re: Função Javascript No PHP [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 30/04/2012 - 23:03h

Sugiro jQuery, especificamente o jQuery-Mask-Plugin:

https://github.com/igorescobar/jQuery-Mask-Plugin

Ex como usar:

<script src="jquery-1.5.1.min.js" type="text/javascript"></script>
<script src="jquery.mask.min" type="text/javascript"></script>
<script type="text/javascript">
jQuery(function ($) {
$("#tel_fixo").mask("99 9999-9999");
});
</script>

echo "<td width=199>Telefone Fixo:<br />";
echo "<input id='tel_fixo' name='tel_fixo' type='text' value='$ln[tel_fixo]'>";



4. SOLUÇÃO

Jorge Augusto Rabello Pinto
jorgerabello

(usa Ubuntu)

Enviado em 12/05/2012 - 05:29h

Fala Galera, tudo jóia ?! Resolvi o problema agorinha (12/05/12 - 05:19)

Embarquei na dica do colega wdmatheus e resolvi fazer em JQeury, então utilizei o JQuery e um addin chamado jaquery.masked input aí ficou assim pra chamar os arquivos JQuery e faer as mascaras:

<head>
<meta http-equiv=Content-Type content=text/html; charset=UTF-8>
<script type=text/javascript src=jquery/jquery-1.5.2.min.js></script>
<script type=text/javascript src=jquery/jquery.maskedinput-1.3.js></script>
<script type=text/javascript>
jQuery(function($){
$(#campoData).mask(99/99/9999);
$(#tel_fixo).mask((99) 9999-9999);
$(#tel_celular).mask((99) 9999-9999);
$(#campoSenha).mask(***-****);
});
</script>
</head>
obs :
$(#campoData).mask(99/99/9999); // campoData é o name do campo no formulário.

Bom, resumo da ópera, reparem que existem várias regras sendo quebradas neste trecho do código:
1. Não fechei a tag meta:
COMO EU FIZ:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

COMO TEM QUE SER
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

2.Não respeitei as aspas das tags script:
COMO EU FIZ:
<script type=text/javascript src=jquery/jquery-1.5.2.min.js></script>
<script type=text/javascript src=jquery/jquery.maskedinput-1.3.js></script>
<script type=text/javascript>
jQuery(function($){
$(#campoData).mask(99/99/9999);
$(#tel_fixo).mask((99) 9999-9999);
$(#tel_celular).mask((99) 9999-9999);
$(#campoSenha).mask(***-****);
});
</script>
COMO DEVE SER:
<script type="text/javascript" src="jquery/jquery-1.5.2.min.js"></script>
<script type="text/javascript" src="jquery/jquery.maskedinput-1.3.js"></script>
<script type="text/javascript">
jQuery(function($){
$("#campoData").mask("99/99/9999");
$("#tel_fixo").mask("(99) 9999-9999");
$("#tel_celular").mask("(99) 9999-9999");
$("#campoSenha").mask("***-****");
});
</script>

Depois que eu corrigi isso foi mole mole.... aí só precisei invocar os campos no php:

print ("<label for=tel_fixo>Telefone Fixo</label> <br />");
print ("<input type=text name=tel_fixo id=tel_fixo size=53
value='$ln[tel_fixo]'/><br />");
print ("<label for=tel_celular>Telefone Celular</label> <br />");
print ("<input type=text name=tel_celular id=tel_celular size=53
value='$ln[tel_celular]' /><br />");
print ("</fieldset>");


EMFIM:

CÓDIGO ERRADO:
<head>
<meta http-equiv=Content-Type content=text/html; charset=UTF-8>
<script type=text/javascript src=jquery/jquery-1.5.2.min.js></script>
<script type=text/javascript src=jquery/jquery.maskedinput-1.3.js></script>
<script type=text/javascript>
jQuery(function($){
$(#campoData).mask(99/99/9999);
$(#tel_fixo).mask((99) 9999-9999);
$(#tel_celular).mask((99) 9999-9999);
$(#campoSenha).mask(***-****);
});
</script>

CÓDIGO CORRETO:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript" src="jquery/jquery-1.5.2.min.js"></script>
<script type="text/javascript" src="jquery/jquery.maskedinput-1.3.js"></script>
<script type="text/javascript">
jQuery(function($){
$("#campoData").mask("99/99/9999");
$("#tel_fixo").mask("(99) 9999-9999");
$("#tel_celular").mask("(99) 9999-9999");
$("#campoSenha").mask("***-****");
});
</script>


Valeu galera e ateh mais !











Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts