Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá,
gostaria de saber se alguém já passou por isso, eu criei um inputText no flash e setei ele como multiline, e mando o valor dele por sendAndLoad para o php,no php eu recebo por POST, gravo em uma variável e envio com a função mail porém se eu dou um enter no flash o que está para baixo do enter não é enviado.
Se eu digito no campo de inputText do Flash assim:
Olá, (aqui dou um enter)
meu nome é Hernani Fernandes (aqui dou um outro enter)
Obrigado.
Ele envia pro php e o php envia pro email assim
Olá,
.................
Ou seja o que está abaixo do enter ele não envia.
O código:
// ----Método que envia os dados para o php
var lv:LoadVars = new LoadVars();
var lvR:LoadVars = new LoadVars();
function enviaEmail() this.lv.texto = this.txt.text;
this.lv.sendAndLoad("email.php",this.lvR,"POST");
this.lvR.onLoad = function (ok:Boolean)
{
if (ok = true)
{
_root.txt.text = "Email Enviado";
}else
{
_root.txt.text = "Falha ao enviar";
}
}
}No PHP ficou assim:
<?php
//recebe a variavel do flash
$nome = $_POST['texto'];
//cabeçalhos para correção de acentuação
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-Type: text/html; charset=utf-8\n";
$headers .="From: $email\n";
//preenche em um campo que vai organizar e colocar de forma visualizável
$corpo = "Texto: $texto";
//envia
if(mail('meuemail@meuemail.com',"Email enviado pelo site",$corpo,$headers)){
echo "ok=true";
}else{
echo "ok=false";
}
?>
Caso tenham alguma dúvida o link para baixar os arquivos é o seguinte:
http://www.mouseup.com.br/teste/email.rar
Se já existir este tópico em outro lugar peço que postem o link pois já fasculhei a internet e este fórum porém não encontrei nada.
Obrigado.
Hernani F.
Sim, coloquei, porém continua o problema.
No arquivo que você mandou você não colocou essa opção não apenas mutiline
Então faça assim
_root.txt.multiline = true;
_root.txt.wordWrap = true;
E você ta usando muito _root, _parent, this desnecessariamente... cuidado que isso pode vir a complicar sua vida mais para frente!!!
Se o form já está no _root não precisa colocar _root na frente, mesma coisa par ao botão não precisa colocar this.botao, só botão já funciona
e a function não precisa chamar this._parent.function chame só function()...
Ou seja seu código estaria mais correto se fica-se assim:
// ----Método que envia os dados para o php
var lv:LoadVars = new LoadVars();
var lvR:LoadVars = new LoadVars();
txt.multiline = txt.wordWrap = true;
function enviaEmail() lv.texto = txt.text;
lv.sendAndLoad("email.php",lvR,"POST");
lvR.onLoad = function (ok:Boolean)
{
if (ok = true)
{
txt.text = "Email Enviado";
}else
{
txt.text = "Falha ao enviar";
}
}
} enviaEmail();
}
Não que seu metodo de programar esteja errado, você apenas está complicando mais e "sujando" mais o código ao invés de deixar ele simples e limpo.
Abraços
Colocou wordWrap no campo de texto também???
Se não colocou ele vai continuar single line.
Abraços