2012-11-28 274 views
2

我有了foreach循环和在循环内我有一个输入类型的无线形式,所以每次它有一个新的值如下面的码:检查的单选按钮被按下

<?php 
      $aircrafts = AircraftPermit::getaircraft(); 
      foreach($aircrafts as $aircraft) 
       { 
        $pacas = AircraftPermit::getrouteaircraft($aircraft->name ,$pilotid); 
        if($pacas) 
         { 
      ?> 
          <tr> 
           <td> 
            <input type="radio" id="ac" value="" disabled="disabled"><?php echo $aircraft->name ;?><br /> 
           </td> 
           <td align="center"> 
            <input name="submit" title="Give permission to selected aircraft" type="submit" value="Give Permit" disabled="disabled"> 
           </td> 
           <td align="center"> 
            <font color="green">Granted</font> 
           </td> 
          </tr> 
      <?php 
         } 
        else 
         { 
      ?> 
          <tr> 
           <td> 
            <input type="radio" id="ac" value="<?php echo $aircraft->name ;?>"><?php echo $aircraft->name ;?><br /> 
           </td> 
           <td align="center"> 
            <input name="id" type="hidden" value="<?php echo $pilotid ;?>"> 
            <input name="submit" title="Give permission to selected aircraft" type="submit" value="Give Permit"> 
           </td> 
           <td align="center"> 
            <font color="red">Restricted</font> 
           </td> 
          </tr> 
      <?php 
         } 
       } 
      ?> 

现在,最后我有一个脚本来检查单选按钮,然后象下面这样:

<script type="text/javascript"> 
function radio_is_on() { 
    var elementId = document.getElementById('ac'); 
    if (elementId.checked==false) 
    { 
     alert('Please select the aircraft first!'); 
     return false; 
    } 
    if (elementId.value) 
    { 
     return true; 
    } 
} 
</script> 

当单选按钮不推弹出消息还好,但是当它推它没有返回值和形式发送空值。请告诉我我错在哪里。 谢谢

回答

0

你不能有多个id标签,这可能是为什么它不起作用。尝试将它改为类。看下面的例子在jquery中。

HTML:

<input type="radio" class="ac" value="<?php echo $aircraft->name ;?>"><?php echo $aircraft->name ;?><br /> 

JAVASCRIPT:

function radio_is_on() { 
    if ($('.ac:checked').val()) { 
    return true; 
    } 
    else { 
    alert('Please select the aircraft first!'); 
    return false; 
    } 
} 
+0

工作就像一个魅力。谢谢。 –

0

你对所有单选按钮都有相同的id - 这是不正确的。 一直只考虑一个按钮。 你可以给它们编号,例如。 ac1,ac2等。

+0

一样,它是在一个循环中,但由于我不能说出他们。 –

0

据我记得一个单选按钮被“推”时,它被选中属性,当它没有按它不推没有。

 
... 
    if (elementId.hasOwnProperty('checked')) 
... 

,而不是

 
... 
    if (elementId.checked==false) 
... 
+0

谢谢,但没有去.... !!! –