Проверка единственного переключателя не работает в доступном сценарии проверки JavaScript, часть 2 - PullRequest
0 голосов
/ 11 января 2011

Я доступен с решением, данным @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;

          }

}

Ответы [ 2 ]

2 голосов
/ 11 января 2011

Вот как использовать код, который вы дали @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
  }

при условии, что отправка выглядит ТОЛЬКО так:
<form onsubmit="return valDistribution(this)">

и радио NAMED так:
<input type="radio" name="creatorusers" ...>

2 голосов
/ 11 января 2011

Вы можете попробовать этот скрипт:

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...