我想知道是否有可能在我解释的表单的enctype上有一个'switch system':我有一个没有必需$ _Files的表单..如果我有一个上传器文件,一切正常,但如果我没有,我收到一封空邮件,但标题很好。我认为这是因为enctype,我不知道如何采取行动。
答案 0 :(得分: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>
正如您在&#34;表格中所看到的那样#34;标记&#39; enctype&#39;不包括在内。这将由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();
}
}
});
以上代码
检查必填字段(名字,姓氏)是否为空白
检查&#34;文件&#34;输入 - 如果它是空白或不是 - 并为表格指定正确的&#34; enctype&#34;
最后,提交表格