Javascript 验证必须是切换或输入字段

Javascript 验证必须是切换或输入字段,javascript,jquery,forms,validation,Javascript,Jquery,Forms,Validation,我的目标:我有一个包含切换按钮和“其他”输入字段的页面。用户必须选择其中一个选项。如果未选择选项,则只会显示一条验证消息(消息:“请选择一条”)。如果用户选择切换按钮,则验证消息将消失。但是,如果用户在输入字段中输入了错误的文本,则只会显示该特定输入字段的验证(消息:请输入数字) 我的问题:当我选择提交按钮时,两条验证消息同时显示,而我只希望一次显示一条验证消息。标题为“其他”的输入字段应仅在输入字段中键入错误时显示其验证消息。有人知道我如何一次显示一条验证消息吗?我进行了研究,但找不到答案。如

我的目标:我有一个包含切换按钮和“其他”输入字段的页面。用户必须选择其中一个选项。如果未选择选项,则只会显示一条验证消息(消息:“请选择一条”)。如果用户选择切换按钮,则验证消息将消失。但是,如果用户在输入字段中输入了错误的文本,则只会显示该特定输入字段的验证(消息:请输入数字)

我的问题当我选择提交按钮时,两条验证消息同时显示,而我只希望一次显示一条验证消息。标题为“其他”的输入字段应仅在输入字段中键入错误时显示其验证消息。有人知道我如何一次显示一条验证消息吗?我进行了研究,但找不到答案。如果你有资料来源,请随时提供。如果我得到了否定点,请告诉我为什么,以便我可以改进我的问题。谢谢

我尝试的内容:我使用了一个if语句,如果未输入文本,则隐藏输入验证消息(onkeyup)。如果在输入中输入了文本,则显示输入验证。这对我不起作用

$(文档).ready(函数(){
/*----------------------验证----------------------*/
$('.btnNext')。单击(函数(e){
函数ValidateEnumber(编号){
var numberPattern=/[^A-Za-z]/;
返回编号模式测试(编号);
}
var focusSet=false;
//选择水果按钮
if(!$('.toggle_monthly_button').hasClass('selected')){
if($(“.toggle\u list\u monthly”).parent().next(“.Inval”).length==0){
$(“.toggle_list_monthly”).parent()之后(“请选择一个”);
$(.selected”).parent().next(.Inval”).remove();
}
}否则{
$('.Inval').remove();
}
//其他-如果选择其他输入字段,则删除值
如果(!$('#输入_总计_月度').val()){
if($(“#输入_总计_每月”).parent().next(“.Inval”).length==0){
}
if(!validateEnumber($('#phonePanelTwo').val()){
}
//e、 预防默认值();
$(“#每月输入总额”).focus();
焦点集=真;
}否则{
//嗯
$('.Inval').remove();
}
//数
如果(!$('#输入_总计_月度').val()){
//如果无效
if($('#input_total_monthly').parent().next('.Inval').length==0){
$(“#输入#总计(每月)”).parent()。之后(“请输入数字”);
}
}否则{
//嗯
$(“#每月输入总额”).parent().next(“.Inval”).remove();
}
if(!validateEnumber($('#input_total_monthly').val()){
if($('#input_total_monthly').parent().next('.Inval').length==0){
$(“#输入#总计(每月)”).parent()之后(“请确定数字格式”);
}
}
});/*-------------------------验证结束----------------------*/
/*切换捐赠按钮*/
$('.toggle')。打开('click',function(){
$('.toggle').removeClass('selected');
$('.toggle').attr('aria-pressed',false);
$(this.addClass('selected');
$(this.attr('aria-pressed',$(this.attr('aria-pressed')=='false'?'true':'false');
});
/*选择“其他”时取消选择按钮*/
$(“#每月输入#u总计”)。单击(函数(){
$(“.js制表符”).find(“.selected”).removeClass('selected');
$(“.js tabs”).find(“.toggle”).attr('aria-pressed',false);
});
//在输入上绑定keyup事件
$('#输入_总计_月度')。焦点(函数(){
//如果值不为空
if($('#输入_总计_每月)'.val().length<0){
//隐藏元素
$(“.toggle_list”).removeAttr('id','id-select_monthly_amnt');
}否则{
//否则,请显示它
$(“.toggle_list”).attr('id','id-select_monthly_amnt');
}
}).keyup();//触发keyup事件,从而在页面加载时运行处理程序
});
。输入容器内容{
浮动:对;
}
瓦瓦尔先生{
颜色:红色!重要;
}
.Input_Msg{
利润率顶部:-24px!重要;
左边距:10px!重要;
位置:绝对位置;
}
.输入两个消息{
位置:绝对位置;
利润上限:17像素;
}
.切换大小{
填充:17px44px;
宽度:6.5em;
文本对齐:居中;
显示:内联块;
文本对齐:居中;
保证金:1px 1px;
光标:指针;
边框:3倍纯黑;
}

无标题文件
1.
2.
3.
其他
提交
更新了您的代码

$(文档).ready(函数(){
var focusSet=false;
/*----------------------验证----------------------*/
$('.btnNext')。单击(函数(e){
函数ValidateEnumber(编号){
var numberPattern=/[^A-Za-z]/;
返回编号模式测试(编号);
}
$('.Inval').remove();//清除所有错误
//如果设置了焦点,则仅激活输入文本验证。
if(聚焦集){
//输入文本的Fire验证
//其他-如果选择其他输入字段,则删除值
if(!validateEnumber($('#phonePanelTwo').val()){
if($('#input_total_monthly').parent().next('.Inval').length==0){
$(“#每月输入#u总数”).parent()。之后(“请输入有效数字”);
}
}
$(“#每月输入总额”).focus();