2015-11-25 2 views
0

Я хочу знать, возможно ли иметь «коммутационную систему» ​​в enctype формы, которую я объясняю: у меня есть форма с не требуемыми $ _Files. Если у меня есть файл uploader, все работает, но если я этого не делаю, я получаю пустую почту, но с хорошими заголовками. Я думаю, что это из-за enctype, и я не знаю, как действовать.Форма ENCTYPE MULTIPART Данные

+0

Может включать '' html', js' на вопрос? – guest271314

+0

вы хотите сказать, если enctype является multipart/form-data, и файлы не загружаются, тогда это создает проблему, поэтому вы хотите автоматически обнаружить это и изменить enctype соответственно .... am i correct ??? – Abbas

ответ

0

Для многих из каждых наших проблем дня UI, JQuery может быть один и удобным решением ... Я подготовил эту простую HTML форму:

<form id="myform" method="POST" action="myActionFile.php"> 
    <div>First Name <span>*</span><input class="form-control" type="text" id="firstname" name="firstname"></div> 
     <div>Last Name <span>*</span><input class="form-control" type="text" id="lastname" name="lastname"></div> 
    <div>Your File: <input class="form-control" type="file" id="myfile" name="myfile"></div> 
    <div><button class="btn pull-right" id="submit">SEND</button></div> 
</form> 

Как вы можете видеть в «форме» Тег " enctype 'не входит. Это будет позаботятся JavaScript (JQuery на самом деле):

$('#submit').on('click', function(e){ 
    e.preventDefault(); 
    if($('#firstname').val().length < 1){$('#firstname').css('background-color', '#ffc9c9').prop('placeholder', 'Required');} 
    if($('#lastname').val().length < 1){$('#lastname').css('background-color', '#ffc9c9').prop('placeholder', 'Required');}else{ 
     var fileData = $('#myfile').val(); 
     if(fileData != ""){ //if file has been selected: 
      $('#myform').prop('enctype', 'multipart/form-data').submit(); 
     }else{ //if NO file selected: 
      $('#myform').prop('enctype', 'text/plain').submit(); 
     } 
    } 
}); 

выше кода

  1. проверяет, является ли необходимые поля (имя, фамилия) не являются пустыми

  2. проверяет «файл» - если он пуст или нет - и присваивает форме соответствующий «enctype»

  3. и, наконец, представляет форму

Вот скрипка: http://jsfiddle.net/8y2y5z4s/

Смежные вопросы