启用/禁用基于输入字段的提交按钮(填充/未填充)
我在这段代码中缺少什么,如果我只是想要输入提交按钮来启用/禁用/启用..只要我填充或不填充输入文本? 对不起,我正在尽我所能学习JavaScript ...谁能帮我修复此代码?启用/禁用基于输入字段的提交按钮(填充/未填充)
<form name="myform" method="post">
<input onkeyup="checkFormsValidity();" id="input_id" type="text" name="input_name" value=""/>
<input type="submit" name="submit_name" value="OK" class="submit_class" id="SubmitButton"/>
</form>
<script>
var sbmtBtn = document.getElementById("SubmitButton");
sbmtBtn.disabled = true;
function checkFormsValidity(){
var myforms = document.forms["myform"];
if (myforms.checkValidity()) {
sbmtBtn.disabled = false;
} else {
sbmtBtn.disabled = true;
}
}
</script>
这是小提琴:https://jsfiddle.net/1zfm6uck/
我失去了声明的onLoad模式或类似这样的东西吗? 谢谢!
function checkFormsValidity(){
必须改变:
checkFormsValidity = function(){
个人而言,我不会查的有效性那样,而是使你的代码工作没有错误的条件,这将做到这一点。
编辑:另外添加required="required"
到输入。
其实 - 如果它不是一个jsfiddle
例如您的代码将工作的伟大:
var sbmtBtn = document.getElementById("SubmitButton");
sbmtBtn.disabled = true;
function checkFormsValidity(){
var myforms = document.forms["myform"];
if (myforms.checkValidity()) {
sbmtBtn.disabled = false;
} else {
sbmtBtn.disabled = true;
}
}
input[type='submit']:disabled{
\t color:red;
}
<form name="myform" method="post">
<input onkeyup="checkFormsValidity();" id="input_id" type="text" name="input_name" value="" required="required" />
<input type="submit" name="submit_name" value="OK" class="submit_class" id="SubmitButton"/>
</form>
问题是放的jsfiddle JavaScript代码clousure里面,所以checkFormsValidity
功能在您的input
范围内不可用。
我向您的input
添加了一个required="required"
,以确保它是必填字段(这将影响您的表单的checkValidity()
)。
谢谢,所以基本上我只是错过了添加required =“required” – NotRocketScientist
在你的计算机/服务器,你可能错过了'required',是的。 – Dekel
okey谢谢,这是诀窍。 但你有没有注意到,如果我删除/不填充输入文本提交按钮不会回到禁用模式? 我们该如何解决这个问题? – NotRocketScientist
加入'required =“required”'输入 –
非常感谢! – NotRocketScientist