estuve haciendo un sitio web usando una plantilla que encontré por ahí, decidí usar su formulario de contacto, pero desde el comienzo estuve con problemas (no enviaba), luego lo solucione pero enviaba en blanco el formulario, luego encontré un script.js que le añadí y me funciono pero ahora al enviar el formulario me llegan 2 mails, uno bien y otro en blanco. Otro problema es que modifique el PHP de la plantilla y ahora no me lanza el mensaje de "Su e-mail ha sido enviado. etc", encontré un archivo main.js que venia con la plantilla y que tiene una parte de códigos para el formulario, pero no se muy bien para que sirve, les pondré aquí los códigos aquí:
contact-us.html (desde la zona del form)
Código:
sendemail.php<div class="row contact-wrap"> <div class="status alert alert-success" style="display: none"></div> <form id="main-contact-form" class="contact-form" name="contact-form" method="post" action="sendemail.php"> <div class="col-sm-5 col-sm-offset-1"> <div class="form-group"> <label for="name"><b>Nombre: *</b></label> <input type="text" name="name" class="form-control" required="required" placeholder="Ingrese su Nombre o Alias"> </div> <div class="form-group"> <label for="email"><b>Email: *</b></label> <input type="email" name="email" class="form-control" required="required" placeholder="ej.: [email protected]"> </div> <div class="form-group"> <label for="phone"><b>Teléfono/Celular: *</b> agregue codigo de país y/o área</label> <input type="text" name="phone" class="form-control" required="required" placeholder="ej.: 595 (981) 123456"> </div> <div class="form-group"> <label for="company"><b>Nombre de su Empresa/Negocio/Compañia:</b></label> <input type="text" name="company" class="form-control" placeholder="Ingrese nombre de su Empresa"> </div> </div> <div class="col-sm-5"> <div class="form-group"> <label for="subject"><b>Asunto: *</b></label> <input type="text" name="subject" class="form-control" required="required"> </div> <div class="form-group"> <label for="message"><b>Mensaje: *</b></label> <textarea name="message" id="message" required="required" class="form-control" rows="8"></textarea> </div> <div class="form-group"> <button type="submit" name="submit" class="btn btn-primary btn-lg" required="required">Submit Message</button> </div> </div> </form> </div><!--/.row--> </div><!--/.container--> </section><!--/#contact-page--> <footer id="footer" class="midnight-blue"> <div class="container"> <div class="row"> <div class="col-sm-6"> © 2015 <a target="_blank" href="#" title=" Footer">Tu Empresa</a>. Todos los derechos reservados. Desarrollado por <a href="#"><img src="images/active.png"></a> </div> </div> </div> </footer><!--/#footer--> <script src="js/jquery.js"></script> <script src="js/bootstrap.min.js"></script> <script src="js/jquery.prettyPhoto.js"></script> <script src="js/jquery.isotope.min.js"></script> <script src="js/main.js"></script> <script src="js/wow.min.js"></script> <!--js_form--> <script type="text/javascript"src="http://code.jquery.com/jquery-1.10.2.min.js"></script> <script type="text/javascript" src="js/script.js"></script> </body> </html>
Código:
el js que le agregue: script.js<?php header('Content-type: application/json'); $status = array( 'type'=>'success', 'message'=>'Su e-mail ha sido enviado. Nos pondremos en contacto con usted lo antes posible' ); $name = trim(stripslashes($_POST['name'])); $email = trim(stripslashes($_POST['email'])); $phone = trim(stripslashes($_POST['phone'])); $company = trim(stripslashes($_POST['company'])); $subject = trim(stripslashes($_POST['subject'])); $message = trim(stripslashes($_POST['message'])); $email_from = $email; $email_to = 'mail@mi dominio.com'; $body = "Nombre: $name\nEmail: $email\nTel: $phone\nEmpresa: $company\nAsunto: $subject\nMensaje: $message"; $success = mail($email_to, $subject, $body, 'From: <'.$email_from.'>'); var_dump($success); echo json_encode($status); die; ?>
Código:
y el main.js que venia con la plantilla jQuery(function($) { //Ajax contact var form = $('.contact-form'); form.submit(function () { $this = $(this); $.post($(this).attr('action'),$(this).serialize(), function(data) { $this.prev().text(data.message).fadeIn().delay(3000).fadeOut(); },'json'); return false; }); //Goto Top $('.gototop').click(function(event) { event.preventDefault(); $('html, body').animate({ scrollTop: $("body").offset().top }, 500); }); //End goto top });
Código:
si no me explique bien me avisan, y por favor ayúdenme, es urgente jQuery(function($) {'use strict', //#main-slider $(function(){ $('#main-slider.carousel').carousel({ interval: 8000 }); }); // accordian $('.accordion-toggle').on('click', function(){ $(this).closest('.panel-group').children().each(function(){ $(this).find('>.panel-heading').removeClass('active'); }); $(this).closest('.panel-heading').toggleClass('active'); }); //Initiat WOW JS new WOW().init(); // portfolio filter $(window).load(function(){'use strict'; var $portfolio_selectors = $('.portfolio-filter >li>a'); var $portfolio = $('.portfolio-items'); $portfolio.isotope({ itemSelector : '.portfolio-item', layoutMode : 'fitRows' }); $portfolio_selectors.on('click', function(){ $portfolio_selectors.removeClass('active'); $(this).addClass('active'); var selector = $(this).attr('data-filter'); $portfolio.isotope({ filter: selector }); return false; }); }); // Contact form var form = $('#main-contact-form'); form.submit(function(event){ event.preventDefault(); var form_status = $('<div class="form_status"></div>'); $.ajax({ url: $(this).attr('action'), beforeSend: function(){ form.prepend( form_status.html('<p><i class="fa fa-spinner fa-spin"></i> Enviando email...</p>').fadeIn() ); } }).done(function(data){ form_status.html('<p class="text-success">' + data.message + '</p>').delay(3000).fadeOut(); }); }); //goto top $('.gototop').click(function(event) { event.preventDefault(); $('html, body').animate({ scrollTop: $("body").offset().top }, 500); }); //Pretty Photo $("a[rel^='prettyPhoto']").prettyPhoto({ social_tools: false }); });