Fórum Abrir janela modal no click #473749
22/03/2014
0
se o usuário clicar sem preencher nada eme mostra a janela modal mesmo assim, e a janela é somente se o usuário preencheu os campos e foi enviado com sucesso.
alguém pode me ajudar.
Celiol.
Curtir tópico
+ 0Posts
24/03/2014
Claudio Lopes
se não funcionar poste o código para que possamos lhe ajudar...
Gostei + 0
24/03/2014
Celiol.
Gostei + 0
24/03/2014
Claudio Lopes
Gostei + 0
24/03/2014
Celiol.
<script type="text/javascript">
/* java janela modal serviços */
var $j = jQuery.noConflict();
$j(document).ready(function () {
var nome = $("#txtNome").val();
var mail = $("#txtEmailC").val();
var fone = $("#txtFoneC").val();
if (nome == "") {
$("#msgnome").text("O nome é obrigatório!");
} else if (mail == "") {
var filtro = /^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})$/i;
if (filtro.test(email)) {
//envia email
} else {
$("#msgmail").text("O e-mail informado é inválido!");
return false;
}
} else if(fone == ""){
$("#msgfone").text("Informe seu telefone ou celular!");
} else if (nome != "" && mail != "" && fone != "") {
//$(document).ready(function () {
$("a[rel=modal]").click(function (ev) {
ev.preventDefault();
var id = $(this).attr("href");
var maskHeight = $(document).height();
var maskWidth = $(window).width();
//colocando cor de fundo
$('#mask').css({ 'width': maskWidth, 'height': maskHeight });
$('#mask').fadeIn(1000);
$('#mask').fadeTo("slow", 0.8);
var winH = $(window).height();
var winW = $(window).width();
$(id).css('top', winH / 2 - $(id).height() / 2);
$(id).css('left', winW / 2 - $(id).width() / 2);
$(id).fadeIn(2000);
});
$('.window .close').click(function (ev) {
ev.preventDefault();
$('#mask').hide();
$('.window').hide();
});
$('#mask').click(function () {
$(this).hide();
$('.window').hide();
});
//});
}
});
</script>
e aqui meu botao com o codigo que chama a modal no click ...
<div class="form_botao">
<a href="#janela1" rel="modal">
<asp:ImageButton ID="btnEnviar" runat="server" ImageUrl="botoes/enviar.jpg" CssClass="botaoContato" onclick="btnEnviar_Click" UseSubmitBehavior="False" />
</a>
</div>
ha detalhe tenho uma marca d'agua nos campos sem a validação ele envia o email mas com os valores da carcad'agua cara.
Pode ajudar?
Gostei + 0
24/03/2014
Claudio Lopes
Gostei + 0
24/03/2014
Celiol.
protected void btnEnviar_Click(object sender, ImageClickEventArgs e)
{
if (txtNome.Text == "Digite o nome completo" || txtEmailC.Text == "seuemail@email.com.br" || txtFoneC.Text == "(99) 99999 - 9999")
{ txtNome.Focus(); }
else
{
try
{
string servidor = ConfigurationManager.AppSettings["servidor"].ToString();
string emailContato = ConfigurationManager.AppSettings["emailContato"].ToString();
string senhaContato = ConfigurationManager.AppSettings["senha"].ToString();
StringBuilder corpo = new StringBuilder();
corpo.Append("Delivery - TI");
corpo.Append("<br />Dados enviados para contato:");
corpo.Append("<br />Nome: " + txtNome.Text);
corpo.Append("<br />Email: " + txtEmailC.Text);
corpo.Append("<br />Empresa: " + txtEmpresa.Text);
corpo.Append("<BR />Assunto: " + ddlAssunto.Text);
corpo.Append("<br />Telefone: " + txtFoneC.Text);
corpo.Append("<br />Menssagem: " + txtMess.Text);
corpo.Append("<br/><br/>");
corpo.Append("<br/> Nao responda este email, ele foi enviado altomáticamente.");
corpo.Append("<br/> Se quiser entrar em contato com a Delivery-TI acesse: www.deliveryti.com/contato");
//configuração do email
MailMessage mailMessage = new MailMessage();
mailMessage.CC.Add(emailContato);
mailMessage.From = new MailAddress(emailContato);
mailMessage.To.Add(txtEmailC.Text);
mailMessage.Priority = MailPriority.Normal;
mailMessage.Subject = "Email enviado por Delivery-TI";
mailMessage.IsBodyHtml = true;
mailMessage.Body = corpo.ToString();
mailMessage.SubjectEncoding = Encoding.GetEncoding("ISO-8859-1");
mailMessage.BodyEncoding = Encoding.GetEncoding("ISO-8859-1");
//configuração do servidor
SmtpClient objSMTP = new SmtpClient(servidor);
//smtp.Port = 587;
objSMTP.EnableSsl = true;
objSMTP.Credentials = new NetworkCredential(emailContato, senhaContato);
objSMTP.Send(mailMessage);
objSMTP.Host = "pop.gmail.com";
objSMTP.Credentials = new NetworkCredential("login", "senha");
//enviar email
objSMTP.Send(mailMessage);
txtNome.Text = "";
txtEmailC.Text = "";
txtEmpresa.Text = "";
txtFoneC.Text = "";
txtMess.Text = "";
}
catch(Exception) {
txtNome.Text = "";
txtEmailC.Text = "";
txtEmpresa.Text = "";
txtFoneC.Text = "";
txtMess.Text = "";
}
}
}
Gostei + 0
25/03/2014
Claudio Lopes
Gostei + 0
25/03/2014
Celiol.
aqui e o botao e junto a ele o link para abrir a janela modal ve ai.
<div class="form_botao">
<a href="#janela1" rel="modal"> ----------->>>>>>>>>>>>>>>>>>>>> aqui onde esta o link que abre a janela ta vendo
<asp:ImageButton ID="btnEnviar" runat="server" ImageUrl="botoes/enviar.jpg" CssClass="botaoContato"
onclick="btnEnviar_Click" TabIndex="7" UseSubmitBehavior="False" />
</a>
</div>
aqui é o conteudo que sera mostrado na janela apenas uma mensagem e um botao para voltar para home
<div class="window2" id="janela1"><br/>
<%-- personalizando a janela --%>
<div class="text_jan">
<div class="header2">
<h5 style="font-family:Verdana; color:White; margin-top:20px; font-weight:bold; font-size:larger; margin-left:-10px;">
E-mail enviado com sucesso</h5>
</div>
<p class="texto_modal" >
     Obrigado por entrar em contato com a Delivery-TI.<br/>
     Em breve entraremos em contato.<br/>
</p><br/><br/>
<a href="home.aspx" class="btnmodal" title="Home">Continuar</a>
</div>
</div>
e por fim o javascript cara que faz com que tudo aconteça. Ha so nao coloqueiu aqui o CSS pois e apenas estilização do conteudo. BLZ
<script type="text/javascript">
/* java janela modal serviços */
var $j = jQuery.noConflict();
$j(document).ready(function () {
var nome = $("#txtNome").val();
var mail = $("#txtEmailC").val();
var fone = $("#txtFoneC").val();
if (nome != "" && mail != "" && fone != "") {
//$(document).ready(function () {
$("a[rel=modal]").click(function (ev) {
ev.preventDefault();
var id = $(this).attr("href");
var maskHeight = $(document).height();
var maskWidth = $(window).width();
//colocando cor de fundo
$('#mask').css({ 'width': maskWidth, 'height': maskHeight });
$('#mask').fadeIn(1000);
$('#mask').fadeTo("slow", 0.8);
var winH = $(window).height();
var winW = $(window).width();
$(id).css('top', winH / 2 - $(id).height() / 2);
$(id).css('left', winW / 2 - $(id).width() / 2);
$(id).fadeIn(2000);
});
$('.window2 .close').click(function (ev) {
ev.preventDefault();
$('#mask').hide();
$('.window2').hide();
});
$('#mask').click(function () {
$(this).hide();
$('.window2').hide();
});
//});
}
});
</script>
se puer ajudar cara ainda nao consegui fazer essa joça.
Gostei + 0
26/03/2014
Claudio Lopes
no botão chamo um função no evento onlcick
<input type="button" name="btnEnviar" id="btnEnviar" onclick="fcEnviar()">
na função faco o seguinte:
function fcEnviar(){
//via ajax, faço o envio das informações via POST e faço o tratamento em uma outra pagina e retorno 1 ou 0 com o resultado
$.post('pagina.php',enviaEmail:1,email:email},function(data){
//verifica o retorno
if(data == 1){
//email enviado
***chama a modal aqui!*****
}else{
**** trata o erro aqui!****
}
});
}
Não entendo porque no ASP isso muda, isso ai é pura jquery
Gostei + 0
26/03/2014
Celiol.
Gostei + 0
27/03/2014
Claudio Lopes
Gostei + 0
28/03/2014
Celiol.
obrigado cara.
Gostei + 0
28/03/2014
Lucas Burg
$(seu_elemento).Click(sua_funcao(parametro) {
//seu codigo
});
Gostei + 0
31/03/2014
Celiol.
Ai me indicaram para chamar no evento click, mas como posso chamar uma função do jquery no click, em asp.net?
Abraços Miller.
Gostei + 0
31/03/2014
Celiol.
Ai me indicaram para chamar no evento click, mas como posso chamar uma função do jquery no click, em asp.net?
Abraços Miller.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)