如何启用/禁用提交按钮,仅当提供两个条件时:检查输入单选和填充输入文本
how to enable/disable a submit button, only if two conditions are provided: checking input radio and filling input text
我有这样一个表单:
<form name="myform" method="post">
<input class="class_x" type="radio" name="name_1" value="value_1" id="id_1"/><br/>
<input class="class_x" type="radio" name="name_2" value="value_2" id="id_2"/><br/>
<input class="class_x" type="radio" name="name_3" value="value_3" id="id_3"/><br/>
<input onkeyup="checkFormsValidity();" id="input_id" type="text" name="input_name" value="" required/><br/>
<input type="submit" name="submit_name" value="OK" class="submit_class" id="SubmitButton"/>
</form>
三个输入无线电,一个输入文本和一个输入提交按钮。
根据javascript代码:
//ENABLE OR DISABLE SUBMIT BUTTON CODE ACCORDING TO INPUT RADIO
function checkIfValid() {
var current = $('input.class_x').filter(':checked');
if (current.length > 1) {
sbmtBtn.disabled = false;
} else {
sbmtBtn.disabled = true;
}
};
//ENABLE OR DISABLE SUBMIT BUTTON CODE ACCORDING TO INPUT TEXT
checkFormsValidity = function(){
var myforms = document.forms["myform"];
if (myforms.checkValidity()) {
sbmtBtn.disabled = false;
} else {
sbmtBtn.disabled = true;
}
}
如果满足这两个条件中的任何一个,则将启用输入提交按钮。但是我需要的是输入提交按钮只有在两个条件都提供时才能启用。如果这些条件中的任何一个被更改回,那么提交按钮应该再次禁用返回。
我知道这需要一个非常严格的语法。
根据我提供的代码,需要做哪些更改才能实现这一点?这里是JSFIDDLE https://jsfiddle.net/Suiberu/1n5gbooq/
谢谢!
试试这个:更新小提琴
条件:select with 2 radio button & one text input
.
我删除链接keyup event
在html中添加直接与javascript。不需要单独验证input text
//SUBMIT BUTTON VARIABLE DECLARED
var sbmtBtn = document.getElementById("SubmitButton");
sbmtBtn.disabled = true;
//INPUTS RADIO; CHECK OR UNCHECK
var prv;
var markIt = function(e) {
if (prv === this && this.checked) {
this.checked = false;
prv = null;
} else {
prv = this;
}
checkIfValid();
};
$(function() {
$('input.class_x').on('click', markIt);
$('input[type=text]').on('keyup', markIt);
});
//ENABLE OR DISABLE SUBMIT BUTTON CODE ACCORDING TO INPUT RADIO
function checkIfValid() {
var current = $('input.class_x').filter(':checked');
if ((current.length > 1) && ($('input[type=text]').val() != "")) {
sbmtBtn.disabled = false;
} else {
sbmtBtn.disabled = true;
}
};
input[type='submit']:disabled{
color:red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form name="myform" method="post">
<input class="class_x" type="radio" name="name_1" value="value_1" id="id_1"/><br/>
<input class="class_x" type="radio" name="name_2" value="value_2" id="id_2"/><br/>
<input class="class_x" type="radio" name="name_3" value="value_3" id="id_3"/><br/>
<input id="input_id" type="text" name="input_name" value="" required/><br/>
<input type="submit" name="submit_name" value="OK" class="submit_class" id="SubmitButton"/>
</form>
相关文章:
- 如何解决取消抖动的用户输入上的竞争条件
- AngularJs:在数字输入字段中设置验证的条件最小值和最大值
- 根据某些条件验证用户输入,而不是将输入输入到数组中,需要最基本的解决方案
- 如何将多个条件添加到表单提交或文本框输入中
- 根据条件使用ng repeat动态显示输入复选框
- Angular2-对有条件创建的输入字段进行表单验证
- 如何正确使用条件执行根据输入绘制圆
- ExtJS有条件地呈现输入字段
- 根据用户输入有条件地显示表单字段
- 在输入后,有条件地应用Angular中的两个类之一
- Jquery XML搜索并显示具有特定用户输入条件的结果
- 在条件jquery上启用按钮/输入区域
- 如果 e.keyCode 是“输入”按钮,并且元素包含其他文本,则验证条件
- 具有单个输入和多种条件的角度滤波器
- 用户单击输入类型复选框时的条件检查
- 根据无线电输入条件禁用和启用按钮提交
- 如何使用Knockout JS数组映射根据输入条件使选择选项绑定默认值
- HTML文本输入条件提交
- JQuery日期输入条件
- 选项卡到输入条件后的下一个选项卡索引