Javascript 用户单击submit后,页面转到php文件。它如何保留在HTML文件中并将表单信息提交到电子邮件?

Javascript 用户单击submit后,页面转到php文件。它如何保留在HTML文件中并将表单信息提交到电子邮件?,javascript,php,jquery,html,forms,Javascript,Php,Jquery,Html,Forms,我是PHP的初学者,正在编写一个联系人表单 选择提交按钮后,不会显示响应消息。该页面将转到PHP文件,电子邮件将永远不会发送。此外,不会显示任何错误消息 我正在使用validate.js和Jquery form.js。 以下是一个参考链接: 联系人表单的样式与上的样式类似(单击在站点上获取报价) HTML: --选择主题-- 消息 Javascript: $('#contactform').validate({ // Specify what the errors should look l

我是PHP的初学者,正在编写一个联系人表单

选择提交按钮后,不会显示响应消息。该页面将转到PHP文件,电子邮件将永远不会发送。此外,不会显示任何错误消息

我正在使用validate.js和Jquery form.js。 以下是一个参考链接:

联系人表单的样式与上的样式类似(单击在站点上获取报价) HTML:


--选择主题--
消息
Javascript:

$('#contactform').validate({
// Specify what the errors should look like
// when they are dynamically added to the form
errorElement: "input",
errorPlacement: function(error, element) {
  error.insertBefore( element.parent().parent() );
  error.wrap("<input class='ErrorField'></input>");

},

// Add requirements to each of the fields
rules: {
  overlay_name: {
    required: true,
    minlength: 3
  },
  overaly_name2:{
            required:true,
            minlength:3
  },
  overlay_email: {
    required: true,
    email: true
  },
  overlay_telephone:{
            required:true,
            minlength:10,
            expression: "if (VAL != 'Phone') return true; else return false;",

  },
  overlay_message: {
    required: true,
    minlength: 10
  }
},

// Specify what error messages to display
// when the user does something horrid
messages: {
  overlaye_name: {
    required: "Please enter your name.",
    minlength: jQuery.format("At least {0} characters required.")
  },
   overlaye_name2: {
    required: "Please enter your last name.",
    minlength: jQuery.format("At least {0} characters required.")
  },
  overlay_email: {
    required: "Please enter your email.",
    email: "Please enter a valid email."
  },
  overlay_telephone:{
            required:"Please enter telephone number.",
            phone:"Please enter valid number."
  },

  overlay_message: {
    required: "Please enter a message.",
    minlength: jQuery.format("At least {0} characters required.")
  }
},

// Use Ajax to send everything to processForm.php
submitHandler: function(form) {
  $("#send").attr("value", "Sending...");
  $(form).ajaxSubmit({
    target: "#response",
    success: function(responseText, statusText, xhr, $form) {

      $("#response").html(responseText).hide().slideDown("fast");
    }
  });
  return false;
}
});
$('contactform')。验证({
//指定错误的外观
//当它们被动态添加到表单中时
errorElement:“输入”,
errorPlacement:函数(错误,元素){
错误.insertBefore(element.parent().parent());
错误。换行(“”);
},
//向每个字段添加需求
规则:{
覆盖单元名称:{
要求:正确,
最小长度:3
},
总体名称2:{
要求:正确,
最小长度:3
},
电子邮件:{
要求:正确,
电子邮件:真的
},
电话:{
要求:正确,
最小长度:10,
表达式:“if(VAL!=“Phone”)返回true;else返回false;”,
},
叠加信息:{
要求:正确,
最小长度:10
}
},
//指定要显示的错误消息
//当用户做了一些可怕的事情时
信息:{
覆盖层名称:{
必填:“请输入您的姓名。”,
minlength:jQuery.format(“至少需要{0}个字符。”)
},
覆盖层名称2:{
必填:“请输入您的姓氏。”,
minlength:jQuery.format(“至少需要{0}个字符。”)
},
电子邮件:{
必填:“请输入您的电子邮件。”,
电子邮件:“请输入有效的电子邮件。”
},
电话:{
必填:“请输入电话号码。”,
电话:“请输入有效号码。”
},
叠加信息:{
必填:“请输入消息。”,
minlength:jQuery.format(“至少需要{0}个字符。”)
}
},
//使用Ajax将所有内容发送到processForm.php
submitHandler:函数(表单){
$(“发送”).attr(“值”、“发送…”);
$(表格).ajaxSubmit({
目标:“响应”,
成功:函数(responseText、statusText、xhr、$form){
$(“#response”).html(responseText.hide().slideDown(“fast”);
}
});
返回false;
}
});
PHP:

//清除输入值
foreach($\发布为$key=>$value){
if(ini_get('magic_quotes_gpc'))
$\u POST[$key]=带斜杠($\u POST[$key]);
$\u POST[$key]=htmlspecialchars(带标签($\u POST[$key]);
}
//将输入值分配给变量以便于参考
$name=$\u POST[“overlay\u name”];
$name2=$\u POST[“overlay\u name2”];
$telephone=$\u POST[“覆盖电话”];
$email=$\u POST[“overlay\u email”];
$message=$\u POST[“overlay\u message”];
//测试输入值是否存在错误
$errors=array();
if(strlen($name)<2){
如果(!$name){
$errors[]=“您必须输入一个名称。”;
}否则{
$errors[]=“名称必须至少包含2个字符。”;
}
}
如果(!$电子邮件){
$errors[]=“您必须输入电子邮件。”;
}如果(!validEmail($email)){
$errors[]=“您必须输入有效的电子邮件。”;
}
if(strlen($message)<10){
如果(!$消息){
$errors[]=“您必须输入一条消息。”;
}否则{
$errors[]=“消息必须至少包含10个字符。”;
}
如果($errors){
//输出错误并显示故障消息
$errortext=“”;
foreach($errors作为$error){
$errortext.=“
  • ”。$error.
  • ”; } die(“发生以下错误:
      ”$errortext.
    ”; } $to=“此处的电子邮件地址”; $subject=“联系方式:$name”; $message=“$message”; $headers=“From:$email”; 邮件($to、$subject、$message、$headers); //带着成功的信息死去 死亡(“成功!您的信息已发送。”); //一种检查是否存在的函数 //电子邮件是有效的 功能validEmail($email) { $isValid=true; $atIndex=strrpos($email,“@”); 如果(是布尔($atIndex)和&!$atIndex) { $isValid=false; } 其他的 { $domain=substr($email$atIndex+1); $local=substr($email,0,$atIndex); $localLen=strlen($local); $domainLen=strlen($domain); 如果($localLen<1 | |$localLen>64) { //超出局部零件长度 $isValid=false; } else if($domainLen<1 | |$domainLen>255) { //超出域部分长度 $isValid=false; } else if($local[0]='.| |$local[$localLen-1]='.) { //局部零件以“.”开头或结尾 $isValid=false; } else if(预匹配('/\.\.\./',$local)) { //局部部分有两个连续的点 $isValid=false; } else如果(!preg_match('/^[A-Za-z0-9\\-\\.]+$/',$domain)) { //域部分中的字符无效 $isValid=false; } else if(preg\u匹配('/\.\.\./',$domain)) { //域部分有两个连续的点 $isValid=false; } 如果(!preg_match('/^(\\\.\.\.[A-Za-z0-9!\\\%&`\\/$\'*+?^{}\\\\.-])+$/',则, str\u replace(“\\\\”,“,$local))) { //字符在本地部分无效,除非 //引用本地部分 如果(!preg_match('/^“(\\\\\”\[^“])+“$/”, str\u replace(“\\\\”,“,$local))) { $isValid=false; } } 如果($isValid&&!(选中D
    $('#contactform').validate({
    // Specify what the errors should look like
    // when they are dynamically added to the form
    errorElement: "input",
    errorPlacement: function(error, element) {
      error.insertBefore( element.parent().parent() );
      error.wrap("<input class='ErrorField'></input>");
    
    },
    
    // Add requirements to each of the fields
    rules: {
      overlay_name: {
        required: true,
        minlength: 3
      },
      overaly_name2:{
                required:true,
                minlength:3
      },
      overlay_email: {
        required: true,
        email: true
      },
      overlay_telephone:{
                required:true,
                minlength:10,
                expression: "if (VAL != 'Phone') return true; else return false;",
    
      },
      overlay_message: {
        required: true,
        minlength: 10
      }
    },
    
    // Specify what error messages to display
    // when the user does something horrid
    messages: {
      overlaye_name: {
        required: "Please enter your name.",
        minlength: jQuery.format("At least {0} characters required.")
      },
       overlaye_name2: {
        required: "Please enter your last name.",
        minlength: jQuery.format("At least {0} characters required.")
      },
      overlay_email: {
        required: "Please enter your email.",
        email: "Please enter a valid email."
      },
      overlay_telephone:{
                required:"Please enter telephone number.",
                phone:"Please enter valid number."
      },
    
      overlay_message: {
        required: "Please enter a message.",
        minlength: jQuery.format("At least {0} characters required.")
      }
    },
    
    // Use Ajax to send everything to processForm.php
    submitHandler: function(form) {
      $("#send").attr("value", "Sending...");
      $(form).ajaxSubmit({
        target: "#response",
        success: function(responseText, statusText, xhr, $form) {
    
          $("#response").html(responseText).hide().slideDown("fast");
        }
      });
      return false;
    }
    });
    
    // Clean up the input values
     foreach($_POST as $key => $value) {
     if(ini_get('magic_quotes_gpc'))
      $_POST[$key] = stripslashes($_POST[$key]);
    
      $_POST[$key] = htmlspecialchars(strip_tags($_POST[$key]));
       }
    
      // Assign the input values to variables for easy reference
      $name=$_POST["overlay_name"];
      $name2=$_POST["overlay_name2"];
      $telephone=$_POST["overlay_telephone"];
      $email=$_POST["overlay_email"];
       $message=$_POST["overlay_message"];
    
      // Test input values for errors
      $errors = array();
      if(strlen($name) < 2) {
      if(!$name) {
       $errors[] = "You must enter a name.";
         }    else {
          $errors[] = "Name must be at least 2 characters.";
       }
     }
           if(!$email) {
            $errors[] = "You must enter an email.";
     }           else if(!validEmail($email)) {
             $errors[] = "You must enter a valid email.";
     }
           if(strlen($message) < 10) {
            if(!$message) {
             $errors[] = "You must enter a message.";
             } else {
              $errors[] = "Message must be at least 10 characters.";
             }
    
    
             if($errors) {
            // Output errors and die with a failure message
          $errortext = "";
          foreach($errors as $error) {
          $errortext .= "<li>".$error."</li>";
            }
           die("<span class='failure'>The following errors occured:<ul>".         $errortext ."</ul></span>");
           }
    
    
            $to = "email address here";
            $subject = "Contact Form: $name";
            $message = "$message";
            $headers = "From: $email";
    
             mail($to, $subject, $message, $headers);
    
              // Die with a success message
            die("<span class='success'>Success! Your message has been sent.</span>");
    
          // A function that checks to see if
           // an email is valid
           function validEmail($email)
            {
               $isValid = true;
              $atIndex = strrpos($email, "@");
             if (is_bool($atIndex) && !$atIndex)
             {
              $isValid = false;
             }
               else
            {
              $domain = substr($email, $atIndex+1);
             $local = substr($email, 0, $atIndex);
              $localLen = strlen($local);
              $domainLen = strlen($domain);
            if ($localLen < 1 || $localLen > 64)
              {
               // local part length exceeded
                $isValid = false;
              }
                else if ($domainLen < 1 || $domainLen > 255)
               {
                  // domain part length exceeded
                    $isValid = false;
               }
                 else if ($local[0] == '.' || $local[$localLen-1] == '.')
             {
                  // local part starts or ends with '.'
                 $isValid = false;
             }
                  else if (preg_match('/\\.\\./', $local))
                {
                 // local part has two consecutive dots
                $isValid = false;
               }
               else if (!preg_match('/^[A-Za-z0-9\\-\\.]+$/', $domain))
                {
                  // character not valid in domain part
                 $isValid = false;
                  }
               else if (preg_match('/\\.\\./', $domain))
                {
                // domain part has two consecutive dots
                  $isValid = false;
                   }
                  else if(!preg_match('/^(\\\\.|[A-Za-z0-9!#%&`_=\\/$\'*+?^{}|~.-])+$/',
                   str_replace("\\\\","",$local)))
      {
         // character not valid in local part unless
         // local part is quoted
         if (!preg_match('/^"(\\\\"|[^"])+"$/',
             str_replace("\\\\","",$local)))
         {
            $isValid = false;
         }
      }
      if ($isValid && !(checkdnsrr($domain,"MX") || checkdnsrr($domain,"A")))
      {
         // domain not found in DNS
         $isValid = false;
      }
         }
           return $isValid;
        } 
    
    $(function () {
      $("#contactForm").submit(submitHandler);
    });