[英]disable and enabling a html button
如果用户选择视频文件且文本框不为空,则用户只能单击“提交”按钮。 我可以禁用“提交”按钮,但不能重新启用它
<form action="upload.php" method="post" enctype="multipart/form-data">
<label for="file"><span></span></label>
<input type="file" name="videofile" id="videofile" />
<br/>
Please enter video title:
<br/>
<input type"text" name="videoTitle" />
<br />
<input type="button" disabled id="Submit" value="Submit" onclick="submit()"/>
</form>
<script>
document.getElementById('submit').disabled = true;
var n=document.getElementById('videoTitle').value;
function submit();
if($('#videofile')[0].files.length != 0) && (n.length > 1)
{
document.getElementById('submit').disabled = false;
}
</script>
您的代码有很多错误。 这是您更正的代码:
function check() {
if (document.querySelector('#videofile').files.length != 0 && (document.getElementById("videoTitle").value.length > 1)) {
document.getElementById('Submit').disabled = false;
} else {
document.getElementById('Submit').disabled = true;
}
}
name
属性,并且在尝试使用它们时忘记了ID
) $
语法 keypress
上进行验证,而不是在提交单击上进行验证(这没有意义,因为在禁用按钮后您无法单击按钮) Else
代码以重新禁用按钮 在提交按钮上的
onclick
事件在这里没有意义。 您必须侦听file input
change
事件和text input
keyup
事件,并相应地应用条件。 您还没有分配id
属性(videoTitle
)
另请注意,如果disabled
了按钮,则不会调用click handler。
尝试这个:
var submitBtn = document.getElementById('Submit'); function enableDisable() { var elem = document.getElementById('videofile'); var n = document.getElementById('videoTitle').value; if (elem.files.length && n) { submitBtn.disabled = false; } else { submitBtn.disabled = true; } }
<form action="upload.php" method="post" enctype="multipart/form-data"> <label for="file"><span></span></label> <input type="file" name="videofile" id="videofile" onchange='enableDisable()' /> <br/> Please enter video title: <br/> <input type="text" name="videoTitle" id='videoTitle' onkeyup='enableDisable()' /> <br /> <input type="button" disabled id="Submit" value="Submit" /> </form>
您可以尝试使您的submit
函数执行某些操作吗?
function submit() {
if($('#videofile')[0].files.length != 0) && (n.length > 1) {
document.getElementById('submit').disabled = false;
}
};
您应该对文本和视频文件元素使用change事件。 这样,每当您修改某些内容时,都会触发change事件并在其中检查ur条件。 提交按钮已相应启用。
Se下面的代码供参考!
<form action="upload.php" method="post" enctype="multipart/form-data">
<label for="file"><span></span></label>
<input type="file" name="videofile" id="videofile" />
<br/>
Please enter video title:
<br/>
<input type"text" name="videoTitle" id="videoText"/>
<br />
<input type="button" disabled id="Submit" value="Submit" onclick="submit()"/>
</form>
<script>
document.getElementById('submit').disabled = true;
var n=document.getElementById('videoTitle').value;
function submit();
$('#videofile').change(function() {
if($('#videofile')[0].files.length != 0) && (n.length > 1) {
document.getElementById('submit').disabled = false;
} else {
document.getElementById('submit').disabled = true;
}
});
$('#videoText').change(function() {
if($('#videofile')[0].files.length != 0) && (n.length > 1) {
document.getElementById('submit').disabled = false;
} else {
document.getElementById('submit').disabled = true;
}
});
</script>
我觉得这是实现这一目标的简单方法
<script>
document.getElementById("submit").style.pointerEvents = "none"; //Disable
var n=document.getElementById('videoTitle').value;
function submit();
if($('#videofile')[0].files.length != 0) && (n.length > 1)
{
document.getElementById("submit").style.pointerEvents = "all"; //Enable
}
</script>
只需用此脚本替换您的脚本并尝试..
希望这对您有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.