Javascript 一组输入和一个文本区域至少需要一个值
我有五个字段,四个文本和一个文本区域是必需的。但是,它们都不需要值。但至少有一个是这样。它们已与类“onair”分组,我想要的是尽可能将它们集成到标题中当前的validate()脚本中,或者至少显示一条警告消息,指示必须至少输入一个字段 下面是我在/head中得到的表单验证程序Javascript 一组输入和一个文本区域至少需要一个值,javascript,jquery,forms,validation,Javascript,Jquery,Forms,Validation,我有五个字段,四个文本和一个文本区域是必需的。但是,它们都不需要值。但至少有一个是这样。它们已与类“onair”分组,我想要的是尽可能将它们集成到标题中当前的validate()脚本中,或者至少显示一条警告消息,指示必须至少输入一个字段 下面是我在/head中得到的表单验证程序 <script language="javascript"> <!-- function validate(join) { // // Check for a first name.
<script language="javascript">
<!--
function validate(join)
{
//
// Check for a first name.
//
if (join.fname.value.length == 0)
{
alert("Please enter your first name.");
join.fname.focus();
return false;
}
//
// Check for a last name.
//
if (join.lname.value.length == 0)
{
alert("Please enter your last name.");
join.lname.focus();
return false;
}
//
// Check for an e-mail address.
//
if (join.email.value.length < 5)
{
alert("An email address is required to proceed.");
join.email.focus();
return false;
}
//
// Check for a valid e-mail address.
//
if (join.email.value.indexOf("@",".") == -1)
{
alert("A valid e-mail address is required to proceed.");
join.email.focus();
return false;
}
// It continues.
</script>
这里有一些东西可以验证这些字段
var all = document.querySelectorAll(".onair");
var supplied = 0;
for(var i = 0;i < all.length;i++){
var input = all[i];
if(input.value.length > 0)
{
//get the value by "input.value"
supplied++;
}
}
if(supplied < 1){ alert("Your Message Here"); }
else{
//do whatever after
}
var all=document.queryselectoral(“.onair”);
提供的var=0;
对于(变量i=0;i0)
{
//通过“input.value”获取值
提供++;
}
}
如果(提供的<1){alert(“此处为您的消息”);}
否则{
//以后干什么都行
}
我假定您希望我们使用作为参数传递的联接表单验证方法
如果是,您可以使用querySelectorAll
获取您的输入
function validate(join) {
onairInputs = join.querySelectorAll('.onair')
onairInputs.forEach((x) => console.log(x.value))
}
我发现您的字段中有一些默认值,因此您需要一些自定义逻辑,因为检查值是否为空将不起作用。函数验证(join)
function validate(join)
{
//
// Check for a first name.
//
if (join.fname.value.length > 0)
{
// do more validation if you want
return true;
}
//
// Check for a last name.
//
else if (join.lname.value.length > 0)
{
return true;
}
//
// Check for an e-mail address.
//
else if (join.email.value.length >0)
{
if (join.email.value.length < 5)
{
alert("An email address is required to proceed.");
join.email.focus();
return false;
}
else if (join.email.value.indexOf("@",".") == -1)
{
alert("A valid e-mail address is required to proceed.");
join.email.focus();
return false;
}
else
{
return true;
}
}
// It continues.
else if(join.fname.value.length == 0)
{
alert("Please enter your first name.");
join.fname.focus();
return false
}
else if(join.lname.value.length == 0)
{
alert("Please enter your last name.");
join.lname.focus();
return false
}
// It continues.
} End function
{
//
//查一下你的名字。
//
如果(join.fname.value.length>0)
{
//如果需要,请执行更多验证
返回true;
}
//
//查看姓氏。
//
else if(join.lname.value.length>0)
{
返回true;
}
//
//检查电子邮件地址。
//
否则如果(join.email.value.length>0)
{
如果(join.email.value.length<5)
{
警报(“需要电子邮件地址才能继续”);
join.email.focus();
返回false;
}
else if(join.email.value.indexOf(“@“,”)=-1)
{
警报(“需要有效的电子邮件地址才能继续。”);
join.email.focus();
返回false;
}
其他的
{
返回true;
}
}
//它还在继续。
else if(join.fname.value.length==0)
{
警告(“请输入您的名字。”);
join.fname.focus();
返回错误
}
else if(join.lname.value.length==0)
{
提醒(“请输入您的姓氏”);
join.lname.focus();
返回错误
}
//它还在继续。
}端函数
尽管all[i].value部分可以是您自己的表达式进行验证。我会将“input.onair”更改为“.onair”,因为表单有一个textarea标记。是的,为true,我会更改我的答案;)非常感谢。我添加了join.facebook.focus();并返回false;把注意力集中在球场上。你帮了大忙!嘿,这就是我们来这里的目的!.forEach表达式在旧浏览器上不起作用。安全赌注使用常规迭代,尽管Lambda表达式干净高效,但它们是ES6标准。不懂技术的人会使用较旧的浏览器。它似乎是es5,支持似乎很好。谢谢你的建议。我用占位符属性来解决这个问题。哦,对了,公平竞争。我想知道我在ES6 Mozilla Post上看到了什么。沿着他们的路线。上面的例子是一个很好的方法,只是想知道旧的浏览器。
function validate(join)
{
//
// Check for a first name.
//
if (join.fname.value.length > 0)
{
// do more validation if you want
return true;
}
//
// Check for a last name.
//
else if (join.lname.value.length > 0)
{
return true;
}
//
// Check for an e-mail address.
//
else if (join.email.value.length >0)
{
if (join.email.value.length < 5)
{
alert("An email address is required to proceed.");
join.email.focus();
return false;
}
else if (join.email.value.indexOf("@",".") == -1)
{
alert("A valid e-mail address is required to proceed.");
join.email.focus();
return false;
}
else
{
return true;
}
}
// It continues.
else if(join.fname.value.length == 0)
{
alert("Please enter your first name.");
join.fname.focus();
return false
}
else if(join.lname.value.length == 0)
{
alert("Please enter your last name.");
join.lname.focus();
return false
}
// It continues.
} End function