我想强制使用(HTML)'文件'输入元素:类似
<input type='file' required = 'required' .../>
但它没有用。
我看到了这个WW3手册,其中指出'required'属性是HTML 5的新功能。但是我在我正在使用的不支持新功能的项目中没有使用HTML 5。
有什么想法吗?
答案 0 :(得分:9)
感谢HTML5,它就像这样简单:
<input type='file' required />
示例:强>
<form>
<input type='file' required />
<button type="submit"> Submit </button>
</form>
&#13;
答案 1 :(得分:8)
你可以使用Jquery这样做: -
<script type="text/javascript">
$(document).ready(function() {
$('#upload').bind("click",function()
{
var imgVal = $('#uploadfile').val();
if(imgVal=='')
{
alert("empty input file");
return false;
}
});
});
</script>
<input type="file" name="image" id="uploadfile" size="30" />
<input type="submit" name="upload" id="upload" class="send_upload" value="upload" />
答案 2 :(得分:5)
您可以创建在表单提交时执行的填充。例如:
/* Attach the form event when jQuery loads. */
$(document).ready(function(e){
/* Handle any form's submit event. */
$("form").submit(function(e){
e.preventDefault(); /* Stop the form from submitting immediately. */
var continueInvoke = true; /* Variable used to avoid $(this) scope confusion with .each() function. */
/* Loop through each form element that has the required="" attribute. */
$("form input[required]").each(function(){
/* If the element has no value. */
if($(this).val() == ""){
continueInvoke = false; /* Set the variable to false, to indicate that the form should not be submited. */
}
});
/* Read the variable. Detect any items with no value. */
if(continueInvoke == true){
$(this).submit(); /* Submit the form. */
}
});
});
此脚本等待提交表单,然后循环,但每个具有required
属性的表单元素都输入了值。如果所有内容都有值,则提交表单。
要检查的示例元素可以是:
<input type="file" name="file_input" required="true" />
(您可以删除评论并在网站上使用时缩小此代码)
答案 3 :(得分:5)
答案 4 :(得分:3)
答案 5 :(得分:0)
以上所有陈述都是完全正确的。但是,恶意用户可能会在不使用您的表单的情况下发送POST请求以生成错误。因此,HTML和JS虽然提供了用户友好的方法,但不会阻止这些类型的攻击。为此,请确保您的服务器双重检查请求数据以确保没有任何内容。
答案 6 :(得分:0)
有时输入字段未与表单绑定。
我可能似乎在<form> and </form>
标记内,但它不在这些标记内。
您可以尝试将form属性应用于输入字段,以确保它与您的表单相关。
<input type="file" name="" required="" form="YOUR-FORM-ID-HERE" />
希望对您有帮助。
答案 7 :(得分:0)
https://www.geeksforgeeks.org/form-required-attribute-with-a-custom-validation-message-in-html5/
<button onclick="myFunction()">Try it</button>
<p id="geeks"></p>
<script>
function myFunction() {
var inpObj = document.getElementById("gfg");
if (!inpObj.checkValidity()) {
document.getElementById("geeks")
.innerHTML = inpObj.validationMessage;
} else {
document.getElementById("geeks")
.innerHTML = "Input is ALL RIGHT";
}
}
</script>