2012-03-27 17 views
0

我试图“修改/改变”这种代码的工作方式,我希望它只允许从30个或更多的选择中选择一个单选按钮。就像现在写的那样,它会在提交之前查找所有选定内容。我是一个noob,请善良。从众多选择中的一个无线电

<script type="text/javascript"> 
      function checkform() { 
       //make sure all picks have a checked value 
       var f = document.entryForm; 
       var allChecked = true; 
       var allR = document.getElementsByTagName('input'); 
       for (var i=0; i < allR.length; i++) { 
        if(allR[i].type == 'radio') { 
         if (!radioIsChecked(allR[i].name)) { 
          allChecked = false; 
         } 
        }  
       } 
       if (!allChecked) { 
        return confirm('One or more picks are missing for the current week. Do you wish to submit anyway?'); 
       } 
       return true; 
      } 
      function radioIsChecked(elmName) { 
       var elements = document.getElementsByName(elmName); 
       for (var i = 0; i < elements.length; i++) { 
        if (elements[i].checked) { 
         return true; 
        } 
       } 
       return false; 
      } 
      </script> 
+1

那么你的表单现在是什么样子?这是全部无线电吗?你为什么不让他们成为一个广播组(给他们所有相同的名称值name =“theseHereRadios”),那么他们只能选择1? – jveselka 2012-03-27 19:24:31

回答

0

使用计数器而不是“allChecked”的标志。

将其设置为零。如果元素被选中,请使用allChecked++,然后检查最后的值是否为1。

+0

我真的很新鲜,在这可能会超过我的头。你能详细说明一下吗? – Rickos 2012-03-27 20:04:21

+0

通常单选按钮应该让你检查我们的许多项目。你可以将它们分组,但每个组应该检查一个。如果您有选择允许选择多个项目,我们将使用复选框。 – 2012-03-27 20:06:42

+0

页面加载的方式很复杂, – Rickos 2012-03-28 02:16:20

相关问题