在仅包含一个如果HTML文件输入字段为空,可以禁用表单提交吗?
<input id="fileInput" name="BugReport" type="file" />
输入字段形式,我想禁用提交按钮,如果该文件输入是空的(被选择没有文件尚未)。有没有推荐的方法来做到这一点?
在仅包含一个如果HTML文件输入字段为空,可以禁用表单提交吗?
<input id="fileInput" name="BugReport" type="file" />
输入字段形式,我想禁用提交按钮,如果该文件输入是空的(被选择没有文件尚未)。有没有推荐的方法来做到这一点?
将required
属性添加到输入中。它只能在支持它的浏览器中工作,所以你应该有一个JavaScript替代方案(<form onSubmit="if(document.getElementById('fileinput').value == '') return false;">
或者这些方面的东西)。
检查文件输入的值是否应始终有效。
if (document.getElementById("fileInput").value == "") .....
文件的真实路径将被混淆出于安全原因,但是当选择一个文件中的值应始终返回东西。
你可以用JavaScript来做到这一点。以下代码假定你已经给“S”的id
到表单的提交按钮:
document.getElementById("fileInput").onchange = function() {
if(this.value) {
document.getElementById("s").disabled = false;
}
}
很显然,你需要有禁用开始提交按钮。例如:
<input type="submit" id="s" disabled>
有了这个最好的方法是让Javascript验证所有的输入,因为它们被改变。所以随着输入变化(你可以使用on change事件)在Javascript中启用或禁用该按钮。
<input id="fileInput" name="BugReport" type="file" onchange="validateForm()"/>
这应该调用JavaScript按钮,将检查输入的是它有一个有效的文件,如果是启用提交按钮。
为此,您可以使用jQuery
<script src="/Scripts/jquery-1.5.1.js" type="text/javascript"></script>
<script>
$(function() {
$('#submit').attr("disabled", true);
$('#fileInput').change(function() {
if ($('#fileInput').val().length == 0)
$('#submit').attr("disabled", true);
else
$('#submit').attr("disabled", false);
});
});
</script>
<input id="fileInput" name="BugReport" type="file" />
<input id="submit" type="submit" />
希望这有助于
是的,你可以添加类似:
<input type="submit" onclick="if (window.getElementById('fileInput').value == '') return false" />
或启动与禁用的提交按钮,当启用文件输入被点击并且该值与空字符串不同。
检查this jsbin,看看有什么文件输入的值(它的一个“fakepath”和文件名)
如果您使用HTML5只需添加需要输入标签中:
<input type='file' required />
实施例:
<form>
<input type='file' required />
<button type="submit"> Submit </button>
</form>