Javascript 如果我的复选框数组未全部选中,则在选中后如何显示此警报框
大家好,我正在创建一个验证,通过检查来检查用户是否至少选择了一个支架,如果没有选择支架,则应显示一个警告框,告知用户至少选择一个支架。我的javascript函数在提交时触发 我的代码是Javascript 如果我的复选框数组未全部选中,则在选中后如何显示此警报框,javascript,Javascript,大家好,我正在创建一个验证,通过检查来检查用户是否至少选择了一个支架,如果没有选择支架,则应显示一个警告框,告知用户至少选择一个支架。我的javascript函数在提交时触发 我的代码是 ab=document.getElementById(“repo_document_form”).elements[['stands[]']; 对于(var i=0;i函数checkstanddocument(){ var hasOne=假; ab=document.getElementById(“回购文件表单
ab=document.getElementById(“repo_document_form”).elements[['stands[]'];
对于(var i=0;i函数checkstanddocument(){
var hasOne=假;
ab=document.getElementById(“回购文件表单”).elements[['stands[]'];
对于(变量i=0;i
功能检查标准文档(){
var hasOne=假;
ab=document.getElementById(“回购文件表单”).elements[['stands[]'];
对于(变量i=0;i
for循环中的条件错误,请使用:
for(var i = 0; i < ab.length; i++) {
for(变量i=0;i
for循环中的条件错误,请使用:
for(var i = 0; i < ab.length; i++) {
for(变量i=0;i
其他答案都很好,但它们遗漏了一件事。您必须检查以确保ab实际上是一个数组。如果只有一个复选框,它将作为单个HTML元素返回
function checkstanddocument(){
var hasOne = false;
ab = document.getElementById("repo_document_form").elements[['stands[]']];
if (ab.length != null){
for (var i = 0; i < ab.length; i++){
if (ab[i].checked == true){
hasOne = true;
}
}
}
else hasOne = ab.checked;
if (hasOne == false) {
alert("Please select at least one stand");
return false
} else {
return true;
}
}
功能检查标准文档(){
var hasOne=假;
ab=document.getElementById(“回购文件表单”).elements[['stands[]'];
如果(ab.length!=null){
对于(变量i=0;i
其他答案都很好,但它们遗漏了一件事。您必须检查以确保ab实际上是一个数组。如果只有一个复选框,它将作为单个HTML元素返回
function checkstanddocument(){
var hasOne = false;
ab = document.getElementById("repo_document_form").elements[['stands[]']];
if (ab.length != null){
for (var i = 0; i < ab.length; i++){
if (ab[i].checked == true){
hasOne = true;
}
}
}
else hasOne = ab.checked;
if (hasOne == false) {
alert("Please select at least one stand");
return false
} else {
return true;
}
}
功能检查标准文档(){
var hasOne=假;
ab=document.getElementById(“回购文件表单”).elements[['stands[]'];
如果(ab.length!=null){
对于(变量i=0;i
我发现,使用带有CSS选择器的$$()
函数来获取所需的控件非常容易
这样做的好处是,只需在实际找到的复选框中循环,就不必担心所有的循环边条件
如果未选中任何复选框(或未找到任何复选框),此函数将显示警报,并根据找到的内容返回true或false
function checkstanddocument() {
var ret = false;
$$('#repo_document_form input[type="checkbox"][name="stands[]"]').each( function(checkbox) {
if(checkbox.checked) {
ret = true;
throw $break;
}
});
if(!ret) {
alert('Please select at least one stand.');
}
return ret;
}
我发现使用带有CSS选择器的$$()
函数来获取所需的控件非常容易
这样做的好处是,只需在实际找到的复选框中循环,就不必担心所有的循环边条件
如果未选中任何复选框(或未找到任何复选框),此函数将显示警报,并根据找到的内容返回true或false
function checkstanddocument() {
var ret = false;
$$('#repo_document_form input[type="checkbox"][name="stands[]"]').each( function(checkbox) {
if(checkbox.checked) {
ret = true;
throw $break;
}
});
if(!ret) {
alert('Please select at least one stand.');
}
return ret;
}
你应该在循环中的if语句中添加一个中断。如果你已经找到1,则不需要继续循环。这基本上与立即返回true相同,从而使此函数与Donald已经使用的函数相同…你应该在循环中的if语句中添加一个中断。如果你已经找到1,则不需要继续循环。这是b基本上与立即返回true相同,因此这与Donald已经在使用的函数相同…循环做得很好,我甚至计算了数字并显示了数组的数量elements@knittl,你最初的建议100%解决了问题,<而不是循环做得很好,我甚至数了数,结果是dis播放数组的数量elements@knittl,你最初的建议100%解决了这个问题,<实际上,PrototypeJS只是一个Javascript库。没有理由不能在Rails项目中使用它。只需下载prototype.js文件并在HTML页眉中添加一个标记。因为它可以让你用更少的代码做更多的事情。想想看关于所有围绕for循环正确性的讨论。所有这些都可以通过上面的函数避免。看看我们无所畏惧的领导者的这篇博文:实际上,PrototypeJS只是一个Javascript库。没有理由不能在Rails项目中使用它。只需下载prototype.js文件并添加HTML页面标题中的一个标记。因为它可以让你用更少的代码做更多的事情。想想所有围绕for循环正确性的讨论。所有这些都可以通过上面的函数避免。请看一下我们无畏的领导者的这篇博文: