我在此代码中缺少的内容,如果我只想输入提交按钮启用/禁用/启用..只要我填写或取消输入文本? 抱歉,我正在尽我所能学习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模式或类似的内容? 谢谢!
答案 0 :(得分:2)
实际上 - 如果它不是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{
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
函数不可用。
我在required="required"
添加了input
,以确保它是必填字段(这会影响您表单的checkValidity()
。)
答案 1 :(得分:1)
function checkFormsValidity(){
需要改为:
checkFormsValidity = function(){
就我个人而言,我不会以这种方式检查有效性,但就使您的代码无错误地工作而言,这样就可以了。
编辑:同时将required="required"
添加到输入中。