Bom dia a todos,
tenho um formulário que preciso enviar o print da tela por e-mail e pra isso estou usando a classe Emogrifier que é bastante util e tenho usado em vários grids e funciona muito bem.
Porem estou com dificuldades em adaptar o código para formulários, pois na grid eu tenho uma descrição do cabeçalho que uso no botão javascript e nele o código funciona super bem e no form estou usando um método JS onde a descrição ao inspecionar o form eu não sei qual é:
Grid = $("#sc_grid_head").show(); - exibe o cabeçalho
$("#sc_grid_head").hide(); - oculta o cabeçalho
Form = não sei como declarar…
-aqui eu escondo o cabeçalho do detalhe e preparo as mensagens
onScriptIni:
// fecha o cabeçalho - mensagem de sucesso ou erro !!!
?>
<style>
.scFormHeader {opacity: 0 !important;}
</style>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<div id = "success" style ="display:none" class="alert alert-success">
<strong>Successo!</strong><br> O e-mail foi enviado com sucesso.
</div>
<div id = "error" style ="display:none" class="alert alert-danger">
<strong>Erro!</strong><br>Ocorreu um erro durante o envio do e-mail.
</div>
<div id = "bg" style = "display:none">
<div class="blockUI blockOverlay" style="z-index: 1000; border: none; margin: 0px; padding: 0px; width: 100%; height: 100%; top: 0px; left: 0px; background-color: rgb(110, 110, 110); opacity: 0.6; cursor: wait; position: fixed;"></div>
</div>
<div id = "loading"
style = "
display:none;
background-color: white;
z-index: 1011;
position: fixed;
padding: 0px;
margin: 0px;
width: 30%;
top: 40%;
left: 35%;
text-align: center;
color: rgb(0, 0, 0);
border-style: none;
border-image: initial;
background-color: rgb(255, 255, 255);
cursor: wait;
">
<div style = "position: relative;right: 17%;"><img src ="http://clubeirmao.com.br/assets/images/loading.gif" width = "35px">
<span style =
"
position: relative;
left: 16%;
font-size: 15px;
font-family: arial;
font-weight: bold;
"> Enviando E-mail... Aguarde...</span>
</div>
</div>
<?php
criei um metodo JavaScript para o disparo, m_js_envia_tela:
var codmb;
codmb = prompt(“Preencha com o ID do Cadastro que deseja enviar:”);
if(codmb == “”){return;}
var email;
email = prompt(“Preencha com o E-mail que deseja enviar:”);
var codmb_email = [codmb,email];
if(email == “”){ return;}
else { //Checa se o email foi preenchido.
$("#bg").show();
$("#loading").show();
$.ajax({
type:'post',
url: '../blank_tbl_membro_printa_tela/blank_tbl_membro_printa_tela.php',
data: 'email='+codmb_email,
success: function(ret){
$("#success").hide("slow");
$("#error").hide("slow");
$("#bg").hide();
$("#loading").hide();
// mostar o cabewçalho da grid
//$("#sc_grid_head").show(); // isso funciona na Consulta
.scFormHeader { opacity: 1 !important; } // isso NÃO funciona no Detalhe
if(ret == 1){ //Ok
$("#success").show("slow");
$("#error").hide("slow");
setTimeout(function(){
$("#success").hide("slow");
}, 3000);
}
else{ //error
$("#success").hide("slow");
$("#error").show("slow");
setTimeout(function(){
$("#error").hide("slow");
}, 3000);
}
// alert(ret );
// ocultar o cabewçalho da grid
//$("#sc_grid_head").hide();
// $.scFormHeader { opacity: 0 !important; }
console.log(ret);
}
});
}
e no onBeforeUpdate:
sc_ajax_javascript('m_js_envia_tela');
Então na gravação eu chamo os valores via propmpt ( estou terminando para colocar o lookup) eu chamo a blank em POST que ativa a classe e envia o print por e-mail e é aqui que acontece o erro!!!.
Na consulta eu estava usando : $("#sc_grid_head").show(); porem no detalhe não sei como re-exibir o cabeçalho.
Eu ja tentei usar o seguinte: .scFormHeader { opacity: 1 !important; } mais não funciona e já li vários tópicos e não encontrei um exemplo.
Alguém poderia me dar uma luz aqui?? Obrigado