Jump to content
hardgamer

Guardar automaticamante conteúdos no computador ou em documento

Recommended Posts

hardgamer

Boas

Estou a fazer um sistema de Point of Sale para uma loja que vou abrir, tendo como base um sistema de arrastar e largar em HTML5. Quando carrego num botão para imprimir um talão para o cliente, abre-se uma janela pop-up apenas com a informação da compra (artigos, quantidades, preço) e com os dados da loja (morada, capital social, etc).

Para fins estatísticos, e para não ter que ao fim do dia estar a passar "à mão" os dados das vendas de uma segunda via do talão para uma folha de excel, queria saber se é possível, de forma simples, guardar automaticamente o conteúdo do pop up no computador, mediante um documento (excel, word, pdf, tanto faz) ou enviar os dados para um endereço de email. O que é mesmo necessário é que este conteúdo seja digital, para evitar quebras na produtividade e se possível seja integrado no seguinte código:

<script type="text/javascript">
<!--
function printContent(id){
str=document.getElementById(id).innerHTML
newwin=window.open('','printwin','left=100,top=100,width=400,height=800')
newwin.document.write('<HTML>\n<HEAD>\n')
newwin.document.write('<TITLE>Print Page</TITLE>\n')
newwin.document.write('<link rel="stylesheet" href="imprimir.css">\n')
newwin.document.write('<script>\n')
newwin.document.write('function chkstate(){\n')
newwin.document.write('if(document.readyState=="complete"){\n')
newwin.document.write('window.close()\n')
newwin.document.write('}\n')
newwin.document.write('else{\n')
newwin.document.write('setTimeout("chkstate()",2000)\n')
newwin.document.write('}\n')
newwin.document.write('}\n')
newwin.document.write('function print_win(){\n')
newwin.document.write('<\/script>\n')
parent.location.reload(true);
newwin.document.write('<link rel="stylesheet" href="print.css">')
newwin.document.write('</HEAD>\n')
newwin.document.write('<BODY onload="print_win()">\n')
newwin.document.write('<CENTER><img src="logoprint.png" /></CENTER>\n')
newwin.document.write('<CENTER>Nome da loja<br>Morada aqui<br>Código Postal aqui<br>Capital Social Aqui<br><br></CENTER>\n')
newwin.document.write('<CENTER><iframe style="border:0px;width:200px; height:50px;" src="data.html"></iframe></CENTER>   \n')
newwin.document.write(str)
newwin.document.write('<CENTER>--------------------------------------<br></CENTER>\n')
newwin.document.write('<CENTER>Processado por computador<br></CENTER>\n')
newwin.document.write('<CENTER>--------------------------------------<br>IVA incluído<br></CENTER>\n')
newwin.document.write('<CENTER><b>Obrigado pela sua preferência</b><br>Nome da loja</CENTER>\n')
newwin.document.write('')
newwin.document.write('</BODY>\n')
newwin.document.write('</HTML>\n')
newwin.document.close()
}
//-->

A linha "newwin.document.write(str)" faz com que o conteúdo da DIV onde são largados os produtos apareça.

Desde já o meu obrigado.  :P

Usa as tags 'code' para formatar o código, de forma a todos terem uma leitura mais fácil do mesmo - Caya

Share this post


Link to post
Share on other sites
Caya

Não é usada nenhuma linguagem de servidor antes disso? Se sim, é ai que deve ser feita a cópia dos dados.

Independentemente de haver linguagem server-side antes disso, podes colocar o conteúdo numa variável, depois mete o conteúdo na pop-up e envia via AJAX para uma página com linguagem server-side que o possa interpretar e guardar.

Share this post


Link to post
Share on other sites
hardgamer

Encontrei um código que faz exactamente aquilo que quero. No entanto, estou a ter um problema.

Este código faz com que cada vez que a página seja visualizada (no meu caso a pop-up) um email seja automaticamente enviado para um endereço de email com o conteúdo da <DIV>. Apesar de já ter testado este código e receber o email (na caixa spam, caso alguém queira testar), o conteúdo não aparece. Alguém sabe-me dizer porquê e qual a  solução?

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>




<div id="1">

Teste


</div>


<script>
$.post("demo.php", { data : $("div#1").html() }, function(result){
  /* handle results */
});
</script>

<?php

  $to = "EMAIL AQUI";
  $subject = "HTML Data";
  $message = $_POST["data"];
  $headers = "From: The Server <server@doe.com>" . "\r\n" .
             "Content-type: text/html" . "\r\n";

  mail($to, $subject, $message, $headers);

?>

Obrigado :P

Share this post


Link to post
Share on other sites
Caya

O que esse código faz, foi o que eu tinha sugerido  :P

"$("div#1").html()" - substituíste isto pelo selector correcto?

Share this post


Link to post
Share on other sites
hardgamer

Desculpa, é que estou mais ligado ao design, e apesar de dar uns toques de programação, são coisas básicas (mais HTML e CSS)  :P

"$("div#1").html()" - substituíste isto pelo selector correcto?

Como assim?

Share this post


Link to post
Share on other sites
Caya

Faz algo do género:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
<!--
function printContent(id){
str=document.getElementById(id).innerHTML
newwin=window.open('','printwin','left=100,top=100,width=400,height=800')
newwin.document.write('<HTML>\n<HEAD>\n')
newwin.document.write('<TITLE>Print Page</TITLE>\n')
newwin.document.write('<link rel="stylesheet" href="imprimir.css">\n')
newwin.document.write('<script>\n')
newwin.document.write('function chkstate(){\n')
newwin.document.write('if(document.readyState=="complete"){\n')
newwin.document.write('window.close()\n')
newwin.document.write('}\n')
newwin.document.write('else{\n')
newwin.document.write('setTimeout("chkstate()",2000)\n')
newwin.document.write('}\n')
newwin.document.write('}\n')
newwin.document.write('function print_win(){\n')
newwin.document.write('<\/script>\n')
parent.location.reload(true);
newwin.document.write('<link rel="stylesheet" href="print.css">')
newwin.document.write('</HEAD>\n')
newwin.document.write('<BODY onload="print_win()">\n')
newwin.document.write('<CENTER><img src="logoprint.png" /></CENTER>\n')
newwin.document.write('<CENTER>Nome da loja<br>Morada aqui<br>Código Postal aqui<br>Capital Social Aqui<br><br></CENTER>\n')
newwin.document.write('<CENTER><iframe style="border:0px;width:200px; height:50px;" src="data.html"></iframe></CENTER>   \n')
newwin.document.write(str)
newwin.document.write('<CENTER>--------------------------------------<br></CENTER>\n')
newwin.document.write('<CENTER>Processado por computador<br></CENTER>\n')
newwin.document.write('<CENTER>--------------------------------------<br>IVA incluído<br></CENTER>\n')
newwin.document.write('<CENTER><b>Obrigado pela sua preferência</b><br>Nome da loja</CENTER>\n')
newwin.document.write('')
newwin.document.write('</BODY>\n')
newwin.document.write('</HTML>\n')
newwin.document.close()

$.post("demo.php", { data : str }, function(result){
  /* handle results */
});
}
//-->

Share this post


Link to post
Share on other sites
hardgamer

Obrigado desde já pela ajuda em tentar resolver o meu problema... no entanto o email recebido não contém nenhuma informação, aparece em branco. 🤔

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.