此代码正在向表发送空值.我该怎么解决这个问题

This code is sending empty values to the table. How can I fix this

本文关键字:解决 问题 空值 代码      更新时间:2023-09-26

我的代码应该验证表单并将信息发送到php页面。我知道验证和php是有效的,但出于某种原因,它在表中插入了空格。我该怎么解决这个问题?我认为ajax部分不起作用。当它发送到php页面时,它会发送空变量。我该怎么解决这个问题?

$(function() {
    // Setup form validation on the #register-form element
    $("#val2").validate({
        // Specify the validation rules
        rules: {
            Name: {
                required: true,
                maxlength: 50
            },
            telephone: {
                required: true,
                number: true
            },
            Email: {
                required: true,
                email: true
            },
            message: {
                required: true,
                minlength: 30
            },
        },
        // Specify the validation error messages
        messages: {
            Name: {
                required: "Please enter your name",
                maxlength: "Please Keep your name under 50 characters"
            },
            telephone: {
                required: "Please enter your number",
                number: "Please enter a valid number"
            },
            message: {
                required: "Please provide a password",
                minlength: "Your message must be at least 30 characters long"
            },
            Email: "Please enter a valid email address",
        },
        submitHandler: function(form) {
            debugger;
            var name = form.Name.value;
            var email = form.Email.value;
            var number = form.telephone.value;
            var message = form.message.value;
            var product = form.product.value;
            $.ajax({
                type: "POST",
                url: 'process.php',
                data: name,
                email,
                number,
                message,
                product,
                dataType: 'html'
            });
        }
    });
}); 

您只在数据字段中传递'name'。将ajax调用更改为:

$.ajax({
    type: "POST",
    url: 'process.php',
    data: {
        name : name,
        email : email,
        number : number,
        message : message,
        product : product
    },
    dataType: 'html'
});

您的PHP页面期望什么?一个物体,还是一种形式?

现在您实际上只是将name设置为数据选项。

$.ajax({
                type: "POST",
                url: 'process.php',
                data: name,
                email, // Email will be treated as something else than data.
                number,
                message,
                product,
                dataType: 'html'
)};

将其作为对象传递:

$.ajax({
                type: "POST",
                url: 'process.php',
                data:
                    { name: name,
                      email: email, 
                      number: number,
                      message: message,
                      product: product 
                },
                dataType: 'html'
)};

或者序列化形式:

$.ajax({
                type: "POST",
                url: 'process.php',
                data: $(form).serialize(),
                dataType: 'html'
)};

尝试使用这个:-

<script type="text/javascript">
                      $(function() {
                        // Setup form validation on the #register-form element
                        $("#val2").validate({
                            // Specify the validation rules
                            rules: {
                                Name: {
                                    required:true,
                                    maxlength:50
                                },
                                telephone: {
                                    required:true,
                                    number:true
                                },
                                Email: {
                                    required: true,
                                    email: true
                                },
                                message: {
                                    required: true,
                                    minlength: 30
                                },
                            },
                            // Specify the validation error messages
                            messages: {
                                Name: {
                                    required:"Please enter your name",
                                    maxlength:"Please Keep your name under 50 characters"
                                },
                                telephone: {
                                    required:"Please enter your number",
                                    number:"Please enter a valid number"
                                },
                                message: {
                                    required: "Please provide a password",
                                    minlength: "Your message must be at least 30 characters long"
                                },
                                Email: "Please enter a valid email address",
                            },
                            submitHandler: function(form) {
                                debugger;
                                var name = form.Name.value;
                                var email= form.Email.value;
                                var number = form.telephone.value;
                                var message = form.message.value;
                                var product = form.product.value;
                                $.ajax({
                                  type: "POST",
                                  url: 'process.php',
                                  data: {name:name,email:email,number:number,message:message,product:product},
                                  dataType:'html'
                                });
                            }
                        });
                      });
                </script>