验证单个单选按钮在可用的javascript验证脚本第2部分中不起作用

验证单个单选按钮在可用的javascript验证脚本第2部分中不起作用,javascript,validation,radio-button,Javascript,Validation,Radio Button,我可以使用@Tomalak提供的解决方案,因为它在firebug中给了我一个错误:frm.creatorusers未定义,请您帮我解决好吗 [在此错误上中断]var rdo=(frm.creatorusers.length>…rm.creatorusers:frm.creatorusers; 我使用验证单选按钮的代码如下: function valDistribution(frm) { var mycreator = -1; var rdo = (frm.creatorusers

我可以使用@Tomalak提供的解决方案,因为它在firebug中给了我一个错误:frm.creatorusers未定义,请您帮我解决好吗 [在此错误上中断]var rdo=(frm.creatorusers.length>…rm.creatorusers:frm.creatorusers; 我使用验证单选按钮的代码如下:

function valDistribution(frm) {
var mycreator = -1;
        var rdo = (frm.creatorusers.length > 0) ? frm.creatorusers : frm.creatorusers; 
         for (var i=0; i<rdo.length; i++) {
         if (rdo[i].checked) {
         mycreator = 1;
            //return true;
          }
          }
          if(mycreator == -1){
          alert("You must select a Creator User!");
  return false;

          }

}
功能分配(frm){
var mycreator=-1;
var rdo=(frm.creatorusers.length>0)?frm.creatorusers:frm.creatorusers;

对于(var i=0;i您可以尝试以下脚本:

<html>
  <script language="javascript">
   function valbutton(thisform) {
   myOption = -1;
   alert(thisform.creatorusers.length); 
   if(thisform.creatorusers.length ==undefined) {
     alert("not an array");
     //thisform.creatorusers.checked = true;
     if(thisform.creatorusers.checked) {
       alert("now checked");
       myOption=1;              
       alert("You selected button number " + myOption
         + " which has a value of "
         + thisform.creatorusers.value);    
     }
   }
   else {
     for (i=thisform.creatorusers.length-1; i > -1; i--) {
       if (thisform.creatorusers[i].checked) {
         myOption = i; i = -1;
       }
     }
     if (myOption == -1) {
       alert("You must select a radio button");
       return false;
     }
     alert("You selected button number " + myOption
       + " which has a value of "
       + thisform.creatorusers[myOption].value);
   }
}
</script>
    <body>
    <form name="myform">
<input type="radio" value="1st value" name="creatorusers" />1st<br />
<!--<input type="radio" value="2nd value" name="creatorusers" />2nd<br />-->
<input type="button" name="submitit" onclick="valbutton(myform);return false;" value="Validate" />
<input type="reset" name="reset" value="Clear" />
</form> 
</body>    
</html>

功能按钮(此窗体){
myOption=-1;
警报(thisform.creatorusers.length);
if(thisform.creatorusers.length==未定义){
警报(“非数组”);
//thisform.creatorusers.checked=true;
if(thisform.creatorusers.checked){
警报(“现在检查”);
myOption=1;
警报(“您选择的按钮编号”+myOption
+“其值为”
+此表单。创建者用户。值);
}
}
否则{
对于(i=thisform.creatorusers.length-1;i>-1;i--){
if(thisform.creatorusers[i].选中){
myOption=i;i=-1;
}
}
如果(myOption==-1){
警报(“您必须选择单选按钮”);
返回false;
}
警报(“您选择的按钮编号”+myOption
+“其值为”
+thisform.creatorusers[myOption].value);
}
}
第一个

您可以尝试以下脚本:

<html>
  <script language="javascript">
   function valbutton(thisform) {
   myOption = -1;
   alert(thisform.creatorusers.length); 
   if(thisform.creatorusers.length ==undefined) {
     alert("not an array");
     //thisform.creatorusers.checked = true;
     if(thisform.creatorusers.checked) {
       alert("now checked");
       myOption=1;              
       alert("You selected button number " + myOption
         + " which has a value of "
         + thisform.creatorusers.value);    
     }
   }
   else {
     for (i=thisform.creatorusers.length-1; i > -1; i--) {
       if (thisform.creatorusers[i].checked) {
         myOption = i; i = -1;
       }
     }
     if (myOption == -1) {
       alert("You must select a radio button");
       return false;
     }
     alert("You selected button number " + myOption
       + " which has a value of "
       + thisform.creatorusers[myOption].value);
   }
}
</script>
    <body>
    <form name="myform">
<input type="radio" value="1st value" name="creatorusers" />1st<br />
<!--<input type="radio" value="2nd value" name="creatorusers" />2nd<br />-->
<input type="button" name="submitit" onclick="valbutton(myform);return false;" value="Validate" />
<input type="reset" name="reset" value="Clear" />
</form> 
</body>    
</html>

功能按钮(此窗体){
myOption=-1;
警报(thisform.creatorusers.length);
if(thisform.creatorusers.length==未定义){
警报(“非数组”);
//thisform.creatorusers.checked=true;
if(thisform.creatorusers.checked){
警报(“现在检查”);
myOption=1;
警报(“您选择的按钮编号”+myOption
+“其值为”
+此表单。创建者用户。值);
}
}
否则{
对于(i=thisform.creatorusers.length-1;i>-1;i--){
if(thisform.creatorusers[i].选中){
myOption=i;i=-1;
}
}
如果(myOption==-1){
警报(“您必须选择单选按钮”);
返回false;
}
警报(“您选择的按钮编号”+myOption
+“其值为”
+thisform.creatorusers[myOption].value);
}
}
第一个

以下是如何使用@Tomalak提供的代码,但没有正确复制

function valDistribution(frm) { // frm needs to be passed here
  var myCreator=false;
// create an array if not already an array
  var rdo = (frm.creatorusers.length > 0) ? frm.creatorusers : [frm.creatorusers];  
  for (var i=0; i<rdo.length; i++) {
    if (rdo[i].checked) {
      myCreator=true;
      break; // no need to stay here
    }
    if (!myCreator){
      alert("You must select a Creator User!");
      return false;
    }
    return true; // allow submission
  }
函数分配(frm){//frm需要在此处传递
var myCreator=false;
//如果尚未创建数组,请创建数组
var rdo=(frm.creatorusers.length>0)?frm.creatorusers:[frm.creatorusers];

对于(var i=0;i,这里是如何使用@Tomalak提供的代码,但没有正确复制

function valDistribution(frm) { // frm needs to be passed here
  var myCreator=false;
// create an array if not already an array
  var rdo = (frm.creatorusers.length > 0) ? frm.creatorusers : [frm.creatorusers];  
  for (var i=0; i<rdo.length; i++) {
    if (rdo[i].checked) {
      myCreator=true;
      break; // no need to stay here
    }
    if (!myCreator){
      alert("You must select a Creator User!");
      return false;
    }
    return true; // allow submission
  }
函数分配(frm){//frm需要在此处传递
var myCreator=false;
//如果尚未创建数组,请创建数组
var rdo=(frm.creatorusers.length>0)?frm.creatorusers:[frm.creatorusers];

对于(var i=0;iMAnn)它的显示错误是y,我已经用相同的链接重新发布了问题,否则我为什么要重新发布它?正如前面的{linked}中提供的那样问题它可以有多个单选按钮,也可以有一个单选按钮,它的dynamicI已修改代码以接受单个和多个单选按钮论坛可能无法为您提供准确的工作代码,但可以指出解决方法。@UNNI Its仍会给我相同的错误“frm.creatorusers未定义”MAnn它的显示错误是y我用相同的链接重新发布了这个问题,否则我为什么要重新发布它?正如前面的{linked}中提供的那样问题它可以有多个单选按钮,也可以有一个单选按钮,它的dynamicI已修改代码以接受单个和多个单选按钮论坛可能无法为您提供准确的工作代码,但可以指出解决方法。@UNNI Its仍会给我相同的错误“frm.creatorusers未定义”不管是谁,请给我投票反对的原因。但是,我没有投票反对你:1)你使用的代码不正确2)你没有显示你在哪里打电话,3)为什么不在再次问同样的问题之前完成一个问题?不管是谁,请给我投票反对的原因。但是,我没有投票反对你:1)您没有使用提供给您的正确代码2)您没有显示您呼叫valDistribution的位置,3)为什么不在再次询问之前完成一个问题?