javascript - 提交表格,停留在同一页面并消息确认

标签 javascript php jquery ajax forms

我有一个表单,当我提交它时,它会转到另一个页面。 为了解决这个问题,我将 html 中的操作字段留空。但现在,php 不发送邮件。
我想留在同一页面上,发送邮件并收到消息确认。 我对此了解不多,无法自行解决。 这是代码:

  <form id="idForm"method="post" action="">
                    <div class="row 50%">
                        <div class="6u 12u$(mobile)"><input id="nome" required="required" type="text" class="text" name="name" placeholder="Nome" /></div>
                        <div class="6u$ 12u$(mobile)"><input id="email" required="required" type="email" class="text" name="email" placeholder="Correo electrónico" /></div>
                        <div class="12u$">
                            <textarea id="mensaxe" required="required" name="mensaxe" placeholder="Mensaxe"></textarea>
                        </div>
                        <div class="12u$">
                            <ul class="actions">
                                <li><input type="submit" value="Enviar mensaxe" />
                                 <span id="message"></span>

                                </li>
                            </ul>
                        </div>
                    </div>
                </form>

这里是 php

<?php
if(isset($_POST['email'])) {

// Debes editar las próximas dos líneas de código de acuerdo con tus preferencias
$email_to = "info@mymail.es";
$email_subject = "Contacto desde el sitio web";

// Aquí se deberían validar los datos ingresados por el usuario
if(!isset($_POST['name']) ||
!isset($_POST['email']) ||
!isset($_POST['mensaxe'])) {

echo "<b>Ocurrió un error y el formulario no ha sido enviado. </b><br />";
echo "Por favor, vuelva atrás y verifique la información ingresada<br />";
die();
}

$email_message = "Detalles del formulario de contacto:\n\n";
$email_message .= "Nombre: " . $_POST['name'] . "\n";
$email_message .= "E-mail: " . $_POST['email'] . "\n";
$email_message .= "Comentarios: " . $_POST['mensaxe'] . "\n\n";


// Ahora se envía el e-mail usando la función mail() de PHP
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);


}
?>

还有 js

   $("#idForm").submit(function() {
  event.preventDefault();

    var url = "../php/formulario.php"; // the script where you handle the form input.

    $.ajax({
           type: "POST",
           url: url,
           data: $("#idForm").serialize(), // serializes the form's elements.
           success: function(data)
           {
              $("message").text("Success Message");
           }
         });

    return false; // avoid to execute the actual submit of the form.
});

我感谢任何帮助!谢谢。

最佳答案

函数参数中缺少事件

$("#idForm").submit(function(event) {

关于javascript - 提交表格,停留在同一页面并消息确认,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36934814/

相关文章:

javascript - 从功能组件发送功能 Prop 时防止重新渲染

javascript - 调整 ng-repeat 以匹配对象结构

php - 优化 CI 中的 MySQL 查询

javascript - 向下滑动显示更多内容

javascript - 在 Codeigniter 端访问 Ajax POST 变量时出现问题

javascript - 遍历数组树?

javascript - 计算具有不同 id 和名称属性的动态创建的文本区域的字符数

javascript - redux saga channel 关闭后如何运行同步代码

php - 选择、合并和输出购物 list 的 'select where in array' 查询的 mysql 结果

php - 在数组中搜索两个值