Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用JavaScript验证提交表单并用代码解决问题?_Javascript_Php_Html_Validation_Form Submit - Fatal编程技术网

如何用JavaScript验证提交表单并用代码解决问题?

如何用JavaScript验证提交表单并用代码解决问题?,javascript,php,html,validation,form-submit,Javascript,Php,Html,Validation,Form Submit,我对网站上的提交表单有问题。当我尝试提交表单时,出现错误: 如果我用方法POST更改将表单发送到操作的方法,它会工作,但我想解决这个问题。我不知道怎么了。你能帮我吗 这是表格的代码 Отправить сообщение JS代码: $(".ts-form-email [type='submit']").each(function(){ var text = $(this).text(); $(this).html("").appen

我对网站上的提交表单有问题。当我尝试提交表单时,出现错误:

如果我用方法POST更改将表单发送到操作的方法,它会工作,但我想解决这个问题。我不知道怎么了。你能帮我吗

这是表格的代码


Отправить сообщение
JS代码:

$(".ts-form-email [type='submit']").each(function(){
    var text = $(this).text();
    $(this).html("").append("<span>"+ text +"</span>").prepend("<div class='status'><i class='fas fa-circle-notch fa-spin spinner'></i></div>");
});

$(".ts-form-email .btn[type='submit']").on("click", function(e){
    e.preventDefault();
    var $button = $(this);
    var $form = $(this).closest("form");
    var pathToPhp = $(this).closest("form").attr("data-php-path");
    $form.validate ({   
        submitHandler: function() {
            $button.addClass("processing");
            $.post( pathToPhp, $form.serialize(),  function(response) {
                $button.addClass("done").find(".status").append(response).prop("disabled", true);
            });
            return false;
        }
    });
});
$(“.ts表单电子邮件[type='submit']”)。每个(函数(){
var text=$(this.text();
$(this.html(“”).append(“+text+”).prepend(“”);
});
$(“.ts form email.btn[type='submit']”)。在(“单击”,函数(e){
e、 预防默认值();
var$按钮=$(此按钮);
var$form=$(this).closest(“form”);
var pathToPhp=$(this).closest(“form”).attr(“data php path”);
$form.validate({
submitHandler:function(){
$button.addClass(“处理”);
$.post(路径为HP,$form.serialize(),函数(响应){
$button.addClass(“完成”).find(“状态”).append(响应).prop(“禁用”,true);
});
返回false;
}
});
});
和PHP文件:

<?php


mb_internal_encoding("UTF-8");

$to = 'axwlow@yandex.ru';
$subject = 'Заявка с сайта';

$name = "";
$email = "";
$phone = "";
$message = "";

if( isset($_POST['name']) ){
$name = $_POST['name'];

$body .= "Name: ";
$body .= $name;
$body .= "\n\n";
}
if( isset($_POST['subject']) ){
$subject = $_POST['subject'];
}
if( isset($_POST['email']) ){
$email = $_POST['email'];

$body .= "";
$body .= "Email: ";
$body .= $email;
$body .= "\n\n";
}
if( isset($_POST['phone']) ){
$phone = $_POST['phone'];

$body .= "";
$body .= "Phone: ";
$body .= $phone;
$body .= "\n\n";
}
if( isset($_POST['message']) ){
$message = $_POST['message'];

$body .= "";
$body .= "Message: ";
$body .= $message;
$body .= "\n\n";
}

$headers = 'From: ' .$email . "\r\n";

if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
mb_send_mail($to, $subject, $body, $headers);
echo '<div class="status-icon valid"><i class="fa fa-check"></i></div>';
}
else{
echo '<div class="status-icon invalid"><i class="fa fa-times"></i></div>';
}

您是否添加了对您可能使用的jquery验证插件(或任何其他插件)的引用。问题在于您的Javascript方面。能否在
var$form=$(this.closest(“form”))之后添加
console.log
(so
console.log($form);
)查看值
$form
是否设置为任何值?
w.fn.init[button#form-contact-submit.btn.btn-primary.float-right,prevObject:w.fn.init(1)]0:button#form-contact-submit.btn.btn-primary.float-right长度:1 prevObject:w.fn.init[document]__proto__:
据我所知,它需要按钮