Sending an attachment via jquery ("input 'file'" always empty)

Sending an attachment via jquery ("input 'file'" always empty)

Hello everyone, I have an e-mail form that I use for my small projects. It works normally!
I recently had to add a field for the visitor to send an attached file.
When submitting the form all the filled fields are sent, except for the "input file".

PS: Validation of fields occurs normally. Only when sending the form all the data arrives until the "send-proof.php" via "POST", less the field "proof".

Can someone help me solve this problem with my code?

  1. <script type="text/javascript">
  2.     $(function(){
  3. // COMPROVANTE
  4. // ====================================
  5. $( "#proof-form" ).validate( {
  6.     rules: {
  7.         nome: {
  8.             required: true,
  9.             minlength: 3
  10.         },
  11.         seuemail: {
  12.             required: true,
  13.             email: true
  14.         },
  15.         seuwhatsapp: {
  16.             required: false,
  17.             minlength: 16
  18.         },
  19.         codigopedido: {
  20.             required: true
  21.         },
  22.         proof: {
  23.             required: true,
  24.             accept: "application/pdf,image/jpg,image/jpeg,image/png"
  25.         },
  26.         t_data: {
  27.             required: true,
  28.             minlength: 10
  29.         },
  30.         t_hora: {
  31.             required: true,
  32.             minlength: 8
  33.         },
  34.         n_doc: {
  35.             required: true
  36.         },
  37.         suamensagem: {
  38.             required: true,
  39.             minlength: 20
  40.         }
  41.     },
  42.     errorElement: "span",
  43.     errorClass: "help-inline-error",
  44.     submitHandler: function(form){
  45.         var dados = $(form).serialize();
  46.         $.ajax({
  47.             type: "POST",
  48.             url: "send-proof.php",
  49.             data: dados,
  50.             success: function(data)
  51.             {
  52.                 $('#result').html(data);
  53.             }
  54.         });
  55.         setTimeout(function() {
  56.             $('#alert').fadeOut('slow');}, 3000);
  57.         return false;
  58.     }
  59. });
  60. });
  61. </script>







--
Atenciosamente
Juscelino Barão