如何添加AJAX提交到PHP验证并返回消息? [英] How to add AJAX Submit to PHP validation and return message?

查看:72
本文介绍了如何添加AJAX提交到PHP验证并返回消息?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在尝试验证表单,并已使JS和PHP验证正常工作,但是我仍然很难添加ajax(带有或不带有JQUERY)提交到php文件并返回成功消息.

I've been working my way up on validating a form and got the JS and PHP validation to work but I am still having a hard time adding ajax(with or without JQUERY) to submit to the php file and return a success message.

我的表单具有CSS和JS验证:

My form with CSS and JS validation:

<html>
<head>
<style type="text/css">
#nameerror {
color:red;
}
#emailerror{
color:red;
}
</style>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script type="text/javascript">

function Validate()  {

var email = document.forms['form']['email'].value;
var atpos = email.indexOf('@');
var dotpos = email.lastIndexOf('.');
var name = document.forms['form']['name'].value;

if (name == null || name == ""){
document.getElementById('nameerror').innerHTML="Please enter your name";
return false;
} else if (atpos < 1 || dotpos < atpos+2 || dotpos+2 >= email.length) {

document.getElementById('emailerror').innerHTML="Please enter a valid email";
return false;
} else {

}   
}

</script>


</head>
<body>
<div>Sign Up</div>
    <form name="form" action="form_validation.php" id="form" onsubmit="return Validate();" method = 'post'> 
<label>Name:</label><br/>
<input id='name' type="text" name='name' /><br/>
<span id="nameerror"></span><br/>
<label>Email:</label><br/>
<input type='text' name='email' id = 'email'/> <br/>
<span id= "emailerror"></span><br/>
<label>Comments:</label><br/>
<textarea name='comments' id ='comments'></textarea><br/>
<span id="comerror"></span>
<input type="submit" name="submit" value="Submit"/>  
<span id="success" style="display:none">Your message has been sent successfully.</span>

</form>  
</body>
</html>

这是form_validation.php:

And this is form_validation.php:

<?php

if(isset($_POST['submit'])){
if($_POST['name']){
    $name = $_POST['name'];
}
if(!preg_match('/^[a-zA-Z\s]+$/', $name)){
    echo "Name can only contain letters.";
    return false;
} else {
        echo "Name accepted";
}   

if($_POST['email']){
    $email = $_POST['email'];
}
$pattern = '/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/';
if(!preg_match($pattern, $email)){
    echo "Please enter a valid email address.";
    return false;
} else {
    echo "Email Valid";
}
if($_POST['comments']){
    $comments = $_POST['comments'];     
}
if (strlen($comments) > 100){
    echo "please enter less than 100 characters.";
    return false;
} 
}

?>

感谢您的帮助!

推荐答案

$('form').on('submit',function() {

$.ajax({
       url: 'form_validation.php',
       data: $(this).serialize(),
       type: 'POST'
            }).done(function(data){

                  // you can append a success message to your document here

            });


                                  });  

这篇关于如何添加AJAX提交到PHP验证并返回消息?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆