Javascript 使用ajax的PHP、jQuery、HTML表单不起作用

Javascript 使用ajax的PHP、jQuery、HTML表单不起作用,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我尝试使用jQuery.post()方法将表单数据提交到php脚本,而不是接收php脚本数据并将其显示在表单页面上,但它不起作用。此外,我还使用jQuery验证插件进行客户端验证。以下是我的代码: Html: 和PHP: if(!empty($_POST)) { $errors = array(); $name = $_POST['name']; $email = $_POST['email']; $subject = $_POST

我尝试使用jQuery.post()方法将表单数据提交到php脚本,而不是接收php脚本数据并将其显示在表单页面上,但它不起作用。此外,我还使用jQuery验证插件进行客户端验证。以下是我的代码: Html:

和PHP:

if(!empty($_POST)) {
        $errors = array();
        $name = $_POST['name'];
        $email = $_POST['email'];
        $subject = $_POST['subject'];
        $url = $_POST['url'];
        $message = $_POST['message'];

        if(empty($name) || empty($email) || empty($subject) || empty($url) || empty($message)) {
            $errors[] = 'All fields are required!';
        } else {
            if(filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
                $errors[] = 'Please enter a valid email address';
            }
            if(ctype_alpha($name === false)) {
                $errors[] = 'Name can only contain letters';
            }
            if (ctype_alpha($subject === false)) {
                $errors[] = 'Subject can only contain letters';
            }
            if(filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED) === false) {
                $errors[] = 'Please enter a valid url address with http in front';
            }
            if(empty($message)) {
                $errors[] = 'Please enter a message';
            }
        }

        if(!empty($errors)) {
            echo '<ul style=\"list-style: circle; color: #f74d4e\">';
            foreach($errors as $error) {
                echo '<li style=\"color: #f74d4e;\"' . $error . '</li>';
            }
            echo '</ul>';
        }

        $send_message = 'From:' . $url . '<br>' . strip_tags(addslashes($message));

        if(empty($errors)) {
            mail('something@something.com', $subject, $send_message , $email);
            echo '<h4 style=\"color: #f74d4e;\">Thank you for contacting me!</h4>';
            exit();
        }
    }
if(!empty($\u POST)){
$errors=array();
$name=$_POST['name'];
$email=$_POST['email'];
$subject=$_POST['subject'];
$url=$_POST['url'];
$message=$_POST['message'];
if(empty($name)| | empty($email)| | empty($subject)| | empty($url)| | empty($message)){
$errors[]=“所有字段都是必需的!”;
}否则{
if(filter\u var($email,filter\u VALIDATE\u email)==false){
$errors[]=“请输入有效的电子邮件地址”;
}
if(ctype_alpha($name==false)){
$errors[]=“名称只能包含字母”;
}
if(ctype_alpha($subject==false)){
$errors[]=“主题只能包含字母”;
}
if(filter\u var($url,filter\u VALIDATE\u url,filter\u FLAG\u PATH\u REQUIRED)==false){
$errors[]=“请输入前面有http的有效url地址”;
}
if(空($message)){
$errors[]=“请输入消息”;
}
}
如果(!empty($errors)){
echo“
    ; foreach($errors作为$error){
    echo’通过粗略检查代码,您似乎在这一行中添加了额外的右括号,如下所示:
    function(data))

    试一试

    $.post('formular.php',$(this).serialize(),函数(数据){

    反而


    HTH

    请查看浏览器中的控制台日志(如果尚未启用开发人员工具,请启用开发人员工具!)。查看是否显示了任何错误。可能会为您提供有关它为什么不起作用的更多信息。另外,请确保直接检查您的php脚本,以确保您没有收到任何服务器500错误。只需尝试控制台并在p(jquery-3.2.1.min.js:2)处获得:VM491:5 Uncaught SyntaxError:Unexpected token)在XMLHttpRequest的A(jquery-3.2.1.min.js:4)在XMLHttpRequest(jquery-3.2.1.min.js:4)在A(jquery-3.2.1.min.js:4)在Qb(jquery-3.2.1.min.js:4)在Qb(jquery-3.2.1.min.js:4)在Object.send(jquery-3.2.1.min.js:4)在Function.ajax(jquery-3.2.1.min.js:4)在Function在Ja(jquery-3.2.1.min.js:3)将尝试使用不同版本的jquery。这不是你的jquery版本。请参见下面darthaditya给出的答案…语法错误。很好。我自己在查看时错过了这一点。函数(数据)的结尾paren必须在结尾curlybrac之后.是的,没错。我建议一个好的JSLint.com,或者至少为代码编辑器op使用的任何代码安装一个js linter插件。刚刚修复了它,但它仍然没有表现出应有的行为…顺便说一句,非常好,谢谢:)还发现了.ready的结尾是“};”;“当它应该是“};”.我已将其标记为已解决,将尝试不同的方法…谢谢您的查看:)
    $(document).ready(function(){
    
        $('form').on('submit', function(event) {
            event.preventDefault();
            $.post('formular.php', $(this).serialize(), function(data)) {
                var dataForm = data;
                $("#returned").append(dataForm);
            }
        });
    )};
    
    if(!empty($_POST)) {
            $errors = array();
            $name = $_POST['name'];
            $email = $_POST['email'];
            $subject = $_POST['subject'];
            $url = $_POST['url'];
            $message = $_POST['message'];
    
            if(empty($name) || empty($email) || empty($subject) || empty($url) || empty($message)) {
                $errors[] = 'All fields are required!';
            } else {
                if(filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
                    $errors[] = 'Please enter a valid email address';
                }
                if(ctype_alpha($name === false)) {
                    $errors[] = 'Name can only contain letters';
                }
                if (ctype_alpha($subject === false)) {
                    $errors[] = 'Subject can only contain letters';
                }
                if(filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED) === false) {
                    $errors[] = 'Please enter a valid url address with http in front';
                }
                if(empty($message)) {
                    $errors[] = 'Please enter a message';
                }
            }
    
            if(!empty($errors)) {
                echo '<ul style=\"list-style: circle; color: #f74d4e\">';
                foreach($errors as $error) {
                    echo '<li style=\"color: #f74d4e;\"' . $error . '</li>';
                }
                echo '</ul>';
            }
    
            $send_message = 'From:' . $url . '<br>' . strip_tags(addslashes($message));
    
            if(empty($errors)) {
                mail('something@something.com', $subject, $send_message , $email);
                echo '<h4 style=\"color: #f74d4e;\">Thank you for contacting me!</h4>';
                exit();
            }
        }
    
    $.post('formular.php', $(this).serialize(), function(data)) {